<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>.Htaccess on qwerty.work</title>
        <link>https://qwerty.work/tags/.htaccess/</link>
        <description>Recent content in .Htaccess on qwerty.work</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja-JP</language>
        <lastBuildDate>Sun, 12 Dec 2021 21:28:19 +0900</lastBuildDate><atom:link href="https://qwerty.work/tags/.htaccess/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>AdSense関係でChromeのコンソールにCORS関係のエラーが出るとき </title>
            <link>https://qwerty.work/post/2021/12/adsense-chrome-cors-console-err/</link>
            <pubDate>Sun, 12 Dec 2021 21:28:19 +0900</pubDate>
            <guid>https://qwerty.work/post/2021/12/adsense-chrome-cors-console-err/</guid>
            <description>&lt;h2 id=&#34;赤文字でエラーが出る&#34;&gt;赤文字でエラーが出る&#xA;&lt;/h2&gt;&lt;p&gt;Lighthouseのベンチマークをしているときに、Chromeのコンソール（F12押すと表示されるやつ）に以下のような警告が出ているのを見つけました。面倒くさいので放置していたのもありますが、本腰入れて解決してみようとやってみたらうまくいったのでメモ。&lt;/p&gt;&#xA;&lt;h3 id=&#34;no-access-control-allow-origin-headerと出るとき&#34;&gt;No &amp;lsquo;Access-Control-Allow-Origin&amp;rsquo; headerと出るとき&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img alt=&#34;No Access-Control-Allow-Origin header&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;917px&#34; data-flex-grow=&#34;382&#34; height=&#34;179&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2021/12/adsense-chrome-cors-console-err/images/No-00.jpg&#34; width=&#34;684&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;Access to XMLHttpRequest at &amp;lsquo;&lt;a class=&#34;link&#34; href=&#34;https://bid.g.doubleclick.net/dbm/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://bid.g.doubleclick.net/dbm/&lt;/a&gt;～&amp;rsquo; from origin &amp;lsquo;&lt;a class=&#34;link&#34; href=&#34;https://googleads.g.doubleclick.net&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://googleads.g.doubleclick.net&lt;/a&gt;&amp;rsquo; has been blocked by CORS policy: No &amp;lsquo;Access-Control-Allow-Origin&amp;rsquo; header is present on the requested resource.&lt;/p&gt;&#xA;&lt;p&gt;オリジン &amp;lsquo;&lt;a class=&#34;link&#34; href=&#34;https://googleads.g.doubleclick.net&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://googleads.g.doubleclick.net&lt;/a&gt;&amp;rsquo; からの &amp;lsquo;&lt;a class=&#34;link&#34; href=&#34;https://bid.g.doubleclick.net/dbm/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://bid.g.doubleclick.net/dbm/&lt;/a&gt;～&amp;rsquo; における XMLHttpRequest へのアクセスは CORS ポリシーによりブロックされています。リクエストされたリソースに&amp;rsquo;Access-Control-Allow-Origin&amp;rsquo;ヘッダが存在しません。- &lt;a class=&#34;link&#34; href=&#34;https://www.deepl.com/ja/translator#en/ja/Access%20to%20XMLHttp%20Request%20at%20&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;DeepL翻訳ツール&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;解決方法&#34;&gt;解決方法&#xA;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;.htaccess&lt;/strong&gt;に以下の記載をしたところ、エラーが出なくなりました。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Access-Control-Allow-Origin *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;他に見つけた書き方&#34;&gt;他に見つけた書き方&#xA;&lt;/h4&gt;&lt;p&gt;以下のような書き方もあるようです。頭に&lt;code&gt;Header set&lt;/code&gt;を加えた方法です。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Header set Access-Control-Allow-Origin *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Header set Access-Control-Allow-Origin https://bid.g.doubleclick.net https://～&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;他にも見つけたオプション&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Access-Control-Allow-Methods: GET, HEAD, POST, PUT, PATCH, DELETE, OPTIONS&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Access-Control-Max-Age: 1728000&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Access-Control-Allow-Credentials true&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;neterr_blocked_by_responseが出るとき&#34;&gt;net::ERR_BLOCKED_BY_RESPONSEが出るとき&#xA;&lt;/h3&gt;&lt;p&gt;&lt;img alt=&#34;net::ERR_BLOCKED_BY_RESPONSE.NotSameOrigin 200&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;838px&#34; data-flex-grow=&#34;349&#34; height=&#34;195&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2021/12/adsense-chrome-cors-console-err/images/No-01.jpg&#34; width=&#34;681&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;GET &lt;a class=&#34;link&#34; href=&#34;https://ad.atdmt.com/i/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;https://ad.atdmt.com/i/&lt;/a&gt;～ ad.atdmt.com/i/～ net::ERR_BLOCKED_BY_RESPONSE.NotSameOrigin 200&lt;/p&gt;&#xA;&lt;h4 id=&#34;解決方法-1&#34;&gt;解決方法&#xA;&lt;/h4&gt;&lt;p&gt;&lt;strong&gt;.htaccess&lt;/strong&gt;に以下の記載をしたところ、エラーが出なくなりました。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;X-Frame-Options SAMEORIGIN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h4 id=&#34;他に見つけた書き方-1&#34;&gt;他に見つけた書き方&#xA;&lt;/h4&gt;&lt;p&gt;以下のような書き方もあるようです。頭に&lt;code&gt;Header set&lt;/code&gt;や&lt;code&gt;Header append&lt;/code&gt;を加えた方法です。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Header set X-Frame-Options ALLOW-FROM https://ad.atdmt.com&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Header set X-Frame-Options ALLOW-FROM *&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Header set X-Frame-Options SAMEORIGIN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Header append X-Frame-Options SAMEORIGIN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;header always append X-Frame-Options SAMEORIGIN&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;参考サイト&#34;&gt;参考サイト&#xA;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://www.movabletype.jp/documentation/cloud/guide/cfg-htaccess-usage-apache.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://www.movabletype.jp/documentation/cloud/guide/cfg-htaccess-usage-apache.html&#34; alt=&#34;https://www.movabletype.jp/documentation/cloud/guide/cfg-htaccess-usage-apache.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://www.movabletype.jp/documentation/cloud/guide/cfg-htaccess-usage-apache.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://www.movabletype.jp/documentation/cloud/guide/cfg-htaccess-usage-apache.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://webllica.com/deny-iframe-access-by-htaccess/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://webllica.com/deny-iframe-access-by-htaccess/&#34; alt=&#34;https://webllica.com/deny-iframe-access-by-htaccess/&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://webllica.com/deny-iframe-access-by-htaccess/&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://webllica.com/deny-iframe-access-by-htaccess/&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://exerror-com.translate.goog/google-recaptcha-v3-getting-console-error-neterr_blocked_by_response-200/?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://exerror-com.translate.goog/google-recaptcha-v3-getting-console-error-neterr_blocked_by_response-200/?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; alt=&#34;https://exerror-com.translate.goog/google-recaptcha-v3-getting-console-error-neterr_blocked_by_response-200/?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://exerror-com.translate.goog/google-recaptcha-v3-getting-console-error-neterr_blocked_by_response-200/?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://exerror-com.translate.goog/google-recaptcha-v3-getting-console-error-neterr_blocked_by_response-200/?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://www-codesd-com.translate.goog/item/google-adsense-cors-and-rails-in-safari-empty-thousands-of-console-errors.html?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://www-codesd-com.translate.goog/item/google-adsense-cors-and-rails-in-safari-empty-thousands-of-console-errors.html?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; alt=&#34;https://www-codesd-com.translate.goog/item/google-adsense-cors-and-rails-in-safari-empty-thousands-of-console-errors.html?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://www-codesd-com.translate.goog/item/google-adsense-cors-and-rails-in-safari-empty-thousands-of-console-errors.html?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://www-codesd-com.translate.goog/item/google-adsense-cors-and-rails-in-safari-empty-thousands-of-console-errors.html?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://developers-google-com.translate.goog/interactive-media-ads/docs/sdks/html5/client-side/cors?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://developers-google-com.translate.goog/interactive-media-ads/docs/sdks/html5/client-side/cors?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; alt=&#34;https://developers-google-com.translate.goog/interactive-media-ads/docs/sdks/html5/client-side/cors?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://developers-google-com.translate.goog/interactive-media-ads/docs/sdks/html5/client-side/cors?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://developers-google-com.translate.goog/interactive-media-ads/docs/sdks/html5/client-side/cors?_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://support-google-com.translate.goog/authorizedbuyers/answer/3202326?hl=en&amp;amp;_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://support-google-com.translate.goog/authorizedbuyers/answer/3202326?hl=en&amp;amp;_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; alt=&#34;https://support-google-com.translate.goog/authorizedbuyers/answer/3202326?hl=en&amp;amp;_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://support-google-com.translate.goog/authorizedbuyers/answer/3202326?hl=en&amp;amp;_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://support-google-com.translate.goog/authorizedbuyers/answer/3202326?hl=en&amp;amp;_x_tr_sl=en&amp;amp;_x_tr_tl=ja&amp;amp;_x_tr_hl=ja&amp;amp;_x_tr_pto=sc&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;</description>
        </item><item>
            <title>MovableTypeの管理画面でblank.htmlのダウンロードが開始されるとき</title>
            <link>https://qwerty.work/post/2018/05/movabletype-blankhtml-htaccess/</link>
            <pubDate>Wed, 30 May 2018 11:18:15 +0900</pubDate>
            <guid>https://qwerty.work/post/2018/05/movabletype-blankhtml-htaccess/</guid>
            <description>&lt;h3 id=&#34;管理画面でblankhtmlのダウンロードが始まる&#34;&gt;管理画面でblank.htmlのダウンロードが始まる&#xA;&lt;/h3&gt;&lt;p&gt;レンタルサーバーを &lt;a class=&#34;link&#34; href=&#34;https://px.a8.net/svt/ejp?a8mat=2ZF6W2&amp;#43;2DQFW2&amp;#43;3JTE&amp;#43;5YJRM&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Mixhost&lt;/a&gt; に引越して以来、 &lt;strong&gt;Internet Explorer（IE）&lt;/strong&gt; でMovable Typeの管理画面にログオンすると &lt;strong&gt;「blank.htmlを保存しますか？」&lt;/strong&gt; と毎回** blank.html **のダウンロードが始まるようになりました。 &lt;strong&gt;Edge&lt;/strong&gt; と &lt;strong&gt;Chrome&lt;/strong&gt; ではこの症状は出ませんでした。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;balank.htmlを保存しますか？&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;1230px&#34; data-flex-grow=&#34;512&#34; height=&#34;117&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2018/05/movabletype-blankhtml-htaccess/images/00.jpg&#34; width=&#34;600&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;ちなみに blank.html というファイルはサイト内に存在していません。&lt;/p&gt;&#xA;&lt;h3 id=&#34;原因はhtaccessの１行&#34;&gt;原因は.htaccessの１行&#xA;&lt;/h3&gt;&lt;p&gt;理屈はよくわかりませんが、原因は .htaccess でした。 .htaccess は移行元のものをそのまま移行先の &lt;a class=&#34;link&#34; href=&#34;https://px.a8.net/svt/ejp?a8mat=2ZF6W2&amp;#43;2DQFW2&amp;#43;3JTE&amp;#43;5YJRM&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Mixhost&lt;/a&gt; で使っていました。その中の以下2行を削除でもよかったのですが、行の先頭に &lt;strong&gt;#&lt;/strong&gt; を入れてコメントアウトしたらダウンロードの画面は出ることがなくなりました。&lt;/p&gt;&#xA;&lt;p&gt;htm、htmlでSSI（サーバーサイドインクルード）を使用できるようにするものらしいです。以前、SSIのテストを行ったときの名残で残していましたが、PHP以外でインクルードを使うことがないので、 &lt;strong&gt;#&lt;/strong&gt; でコメントアウトしました。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;AddHandler server-parsed .htm .html&#xA;AddType text/x-server-parsed-html .html&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.screamo.jp/2009/09/07/22/22/27/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;参考にしたページ&lt;/a&gt;では以下の行を削除したとありましたが、私の.htaccessにはこの記載はありませんでしたが、症状が発生したので上記2行はコメントアウトしました。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;AddType application/x-httpd-php .htm .html .cgi&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;参考ページ&#34;&gt;参考ページ&#xA;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://www.screamo.jp/2009/09/07/22/22/27/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://www.screamo.jp/2009/09/07/22/22/27/&#34; alt=&#34;https://www.screamo.jp/2009/09/07/22/22/27/&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://www.screamo.jp/2009/09/07/22/22/27/&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://www.screamo.jp/2009/09/07/22/22/27/&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;https://wordpress.matometa.net/archives/20121009183042&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/https://wordpress.matometa.net/archives/20121009183042&#34; alt=&#34;https://wordpress.matometa.net/archives/20121009183042&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;https://wordpress.matometa.net/archives/20121009183042&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;https://wordpress.matometa.net/archives/20121009183042&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;</description>
        </item><item>
            <title>日本語を含むURLのRewriteは.htaccessをBOMなしで保存する</title>
            <link>https://qwerty.work/post/2013/11/urlbomutf-8n/</link>
            <pubDate>Fri, 08 Nov 2013 17:25:54 +0900</pubDate>
            <guid>https://qwerty.work/post/2013/11/urlbomutf-8n/</guid>
            <description>&lt;p&gt;mod_rewriteで日本語を含むURLからのアクセスをリダイレクトしようと.htaccessに以下を記述しました。結局は以下の書き方で正しかったのですが、404エラーや500エラーが出て動きませんでした。いろいろなサイトを参考に試行錯誤するものの時間ばかり消費して心が折れそうになりました。&lt;/p&gt;&#xA;&lt;h2 id=&#34;ブログにアクセスがあったらhttpqwertyworkblogにリダイレクトする&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;http://qwerty.work/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://qwerty.work/&lt;/a&gt;ブログ/にアクセスがあったら、http://qwerty.work/blog/にリダイレクトする&#xA;&lt;/h2&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;Redirect permanent /ブログ/ http://qwerty.work/blog/&amp;lt;br&amp;gt;&#xA;または&amp;lt;br&amp;gt;&#xA;RewriteRule ^ブログ/$ /blog/ [R,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;上記で正しく動くはずが動かなかったのは.htaccessをUTF-8の「BOMあり」で保存していたのが原因でした。BOMがどういうものかわかりませんが、「UTF-8（BOMあり）」で保存すると、例えURL内の文字や.htaccessの文字がちゃんとURLエンコードされていても転送元にエンコード文字や日本語があるとエラーになるようです。&lt;/p&gt;&#xA;&lt;p&gt;「&lt;a class=&#34;link&#34; href=&#34;http://blog.livedoor.jp/yuukin77/archives/51833302.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;UTF-8とUTF-8Nの違いによるワナ&lt;/a&gt;」を参考に「BOMなし」のUTF-8（UTF-8N）で保存したら、ちゃんとリダイレクトできました。メモ帳でできるかどうかわかりませんが、私の場合、テキストエディターの&lt;a class=&#34;link&#34; href=&#34;http://jp.emeditor.com/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;EmEditor&lt;/a&gt;で「BOMなし」保存しました。&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;ちなみに転送元の「ブログ」はUTF-8でダイレクト（URLエンコードなし）で書かないと動かないようです。&lt;/p&gt;&#xA;&lt;p&gt;逆に、転送先に日本語が含まれている場合は、URLエンコードしていないとダメです。&lt;/p&gt;&#xA;&lt;h2 id=&#34;にアクセスがあったらhttpqwertyworkブログにリダイレクトする&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;http://qwerty.work/blog/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://qwerty.work/blog/&lt;/a&gt;にアクセスがあったら、http://qwerty.work/ブログ/にリダイレクトする&#xA;&lt;/h2&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteRule ^blog/$ /¥%e3¥%83¥%96¥%e3¥%83¥%ad¥%e3¥%82¥%b0/ [NE,R,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;また、URLエンコードされた文字列の「%」の前に「\」を付けてエスケーブさせておくのと、「NE」を行末に入れておかないとURLエンコードの文字列のまま出力されたり、「%」なしの文字列が表示されたりします。&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>IISとWordpressとURL書き換え（Rewrite）</title>
            <link>https://qwerty.work/post/2013/05/iiswordpressurlrewrite/</link>
            <pubDate>Fri, 10 May 2013 10:36:03 +0900</pubDate>
            <guid>https://qwerty.work/post/2013/05/iiswordpressurlrewrite/</guid>
            <description>&lt;p&gt;WEBサーバーがApatchであればmod_writeでWordpressのURL書き換えが行えますが、IISの場合はmod_rewriteが使えません。でもIIS7以降は『URL Rewriteモジュール』というものをインストールすれば.htaccessのようなweb.configというファイルにリライトルールを記載することで実現ができるようです。&lt;/p&gt;&#xA;&lt;h2 id=&#34;方法&#34;&gt;方法&#xA;&lt;/h2&gt;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;『&lt;a class=&#34;link&#34; href=&#34;http://www.microsoft.com/web/downloads/platform.aspx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Microsoft Web Platform Installer&lt;/a&gt;』をダウンロード。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;http://www.microsoft.com/web/downloads/platform.aspx&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;http://www.microsoft.com/web/downloads/platform.aspx&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;『IIS Rewrite 2.0』を追加する&lt;/p&gt;&#xA;&lt;p&gt;『製品タブ』の中にあります。あとは画面に従ってインストールしてください。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2013/05/10/img00.jpg&#34; &gt;&lt;img alt=&#34;Microsoft Web Platform Installer&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;351px&#34; data-flex-grow=&#34;146&#34; height=&#34;273&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2013/05/iiswordpressurlrewrite/images/img00s.jpg&#34; width=&#34;400&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;サイトのルートディレクトリの『web.config』に以下を記載。&lt;/p&gt;&#xA;&lt;p&gt;ファイルが存在しなければ作成してください。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-xml&#34; data-lang=&#34;xml&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;&amp;lt;?xml version=&amp;#34;1.0&amp;#34; encoding=&amp;#34;UTF-8&amp;#34;?&amp;gt;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;br&amp;gt;&amp;lt;configuration&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;system.webServer&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;rewrite&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;rules&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;rule&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;name=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Main Rule&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;stopProcessing=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;true&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;match&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;url=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;.*&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;conditions&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;logicalGrouping=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MatchAll&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;              &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;add&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;input=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;{REQUEST_FILENAME}&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;matchType=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;IsFile&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;negate=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;true&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;              &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;add&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;input=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;{REQUEST_FILENAME}&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;matchType=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;IsDirectory&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;negate=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;true&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/conditions&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;            &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;action&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;type=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Rewrite&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;url=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;index.php/{R:0}&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;          &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/rule&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;        &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/rules&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;      &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/rewrite&amp;gt;&amp;lt;br&amp;gt;&lt;/span&gt;    &lt;span style=&#34;color:#f92672&#34;&gt;&amp;lt;/system.webServer&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/configuration&amp;gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;これで、以下のWordpressのリライトルール（.htaccess）と同じ動作になります。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# BEGIN WordPress&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;IfModule mod_rewrite.c&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteEngine On&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteBase /&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteCond %{REQUEST_FILENAME} !-f&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteCond %{REQUEST_FILENAME} !-d&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteRule . /index.php [L]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&amp;lt;/IfModule&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;# END WordPress&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;『URL Rewriteモジュール』をIIS8にインストールすると『インターネットインフォメーションサービス（IIS)マネージャー』のページに『URL書き換え』というアイコンが追加されています。ここから『web.config』の内容をGUIで追加することも可能です。&lt;/p&gt;&#xA;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://qwerty.work/blog/2013/05/10/img01.jpg&#34; &gt;&lt;img alt=&#34;インターネットインフォメーションサービス（IIS)マネージャー&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;320px&#34; data-flex-grow=&#34;133&#34; height=&#34;375&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2013/05/iiswordpressurlrewrite/images/img01s.jpg&#34; width=&#34;500&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>.htaccessでスマートホン用のサイトに転送</title>
            <link>https://qwerty.work/post/2012/09/htaccess/</link>
            <pubDate>Wed, 26 Sep 2012 22:02:59 +0900</pubDate>
            <guid>https://qwerty.work/post/2012/09/htaccess/</guid>
            <description>&lt;p&gt;Apatchのmod_rewriteを使ってスマートホン用のサイトにリダイレクトさせる方法をメモ。&lt;/p&gt;&#xA;&lt;p&gt;MovableTypeのプラグインを組み込んでスマホ用のブログページを作りました。&lt;/p&gt;&#xA;&lt;p&gt;PC用のブログはルートディレクトリの「blog」で、スマートホン用のブログを「blog」の中の「i」にしたとします。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img alt=&#34;ディレクトリ&#34; class=&#34;gallery-image&#34; data-flex-basis=&#34;496px&#34; data-flex-grow=&#34;206&#34; height=&#34;150&#34; loading=&#34;lazy&#34; sizes=&#34;(max-width: 767px) calc(100vw - 30px), (max-width: 1023px) 700px, (max-width: 1279px) 950px, 1232px&#34; src=&#34;https://qwerty.work/post/2012/09/htaccess/images/WS000000.jpg&#34; width=&#34;310&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;スマートホンからアクセスを転送するため、「blog」ディレクトリに以下の内容で.htaccessを作成します。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;#スマホサイトにリダイレクト&#xA;RewriteEngine On&#xA;RewriteBase /blog&#xA;RewriteCond %{REQUEST_URI} !^/blog/i/.*$&#xA;RewriteCond %{REQUEST_URI} !^(.JPG|.jpg|.GIF|.gif|.PNG|.png) [NC]&#xA;RewriteCond %{HTTP_USER_AGENT} ^(iPhone|iPod|Android|BlackBerry|Windows.Phone) [NC]&#xA;RewriteCond %{HTTP_USER_AGENT} !iPad [NC]&#xA;RewriteRule ^(.*)$ /blog/i/$1 [R=301,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt; &lt;/p&gt;&#xA;&lt;p&gt;もし、画像やiPadを除き「blog」にスマートホンからアクセスがあった場合は「i」にリダイレクトするという内容。&lt;/p&gt;&#xA;&lt;p&gt;「i」ディレクトリには画像がないため、ブログ内の画像のソースやリンクまでリダイレクトされると画像が表示されず困るので、画像はリダイレクトしないように5行目を加えています。&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>mod_rewriteサンプル</title>
            <link>https://qwerty.work/post/2012/06/mod_rewrite_1/</link>
            <pubDate>Wed, 06 Jun 2012 15:02:28 +0900</pubDate>
            <guid>https://qwerty.work/post/2012/06/mod_rewrite_1/</guid>
            <description>&lt;h2 id=&#34;htaccessに記述するリライトルールのサンプル&#34;&gt;.htaccessに記述するリライトルールのサンプル&#xA;&lt;/h2&gt;&lt;p&gt;mod_rewriteによるリダイレクトで、比較的よく使うリライトルールのサンプルをメモ。&lt;/p&gt;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;&lt;h3 id=&#34;urlのアンダーバーをハイフンに変更&#34;&gt;URLのアンダーバーをハイフンに変更&#xA;&lt;/h3&gt;&lt;p&gt;/blog/2012/06/post_abc123.phpでアクセスがあったらpost-abc123.phpにリダイレクトします。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteEngine on&amp;lt;br&amp;gt;RewriteRule ^([0-9]+)/([0-9]+)/post_(.+)\.php$ /$1/$2/post-$3.php [R,L]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&#xA;&lt;h3 id=&#34;ディレクトリの移動&#34;&gt;ディレクトリの移動&#xA;&lt;/h3&gt;&lt;p&gt;古いディレクトリにアクセスがあったら新しいディレクトリにリダイレクトします。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteEngine on&amp;lt;br&amp;gt;RewriteRule ^/old/(.*)$ /new/$1 [R=301,L]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&#xA;&lt;h3 id=&#34;動的なページを静的なページに見せる&#34;&gt;動的なページを静的なページに見せる&#xA;&lt;/h3&gt;&lt;p&gt;/sample/2012/06.htmlにアクセスがあったら/sample/sample.php?a=2012&amp;amp;b=06lにリダイレクトします。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteEngine on&amp;lt;br&amp;gt;RewriteRule ^/sample/([0-9A-Za-z]+)/([0-9A-Za-z)]+)\.html$ /sample/sample.php?a=$1&amp;amp;b=$2 [L]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&#xA;&lt;h3 id=&#34;特定のディレクトリにあるページの拡張子を書き換える&#34;&gt;特定のディレクトリにあるページの拡張子を書き換える&#xA;&lt;/h3&gt;&lt;p&gt;blogを含むURLの拡張子がｈｔｍｌの場合、phpに書き換えてアクセスする。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RewriteEngine on&amp;lt;br&amp;gt;RewriteCond %{REQUEST_URI} ^/blog.*$&amp;lt;br&amp;gt;RewriteRule ^(.*)\.html$ /$1.php [R,L]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt; &lt;/p&gt;&#xA;&lt;h2 id=&#34;その他参考ページ&#34;&gt;その他参考ページ&#xA;&lt;/h2&gt;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;  &#xA;&#xA;&#xA;&lt;div class=&#34;link-card&#34;&gt;&#xA;  &lt;a href=&#34;http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-image&#34;&gt;&#xA;      &lt;img src=&#34;https://image.thum.io/get/width/300/crop/200/http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html&#34; alt=&#34;http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html&#34; loading=&#34;lazy&#34;&gt;&#xA;    &lt;/div&gt;&#xA;    &#xA;    &lt;div class=&#34;link-card-body&#34;&gt;&#xA;      &lt;span class=&#34;link-card-title&#34;&gt;http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html&lt;/span&gt;&#xA;      &#xA;      &lt;span class=&#34;link-card-url&#34;&gt;http://tech.bayashi.jp/archives/entry/techweb/2007/001981.html&lt;/span&gt;&#xA;    &lt;/div&gt;&#xA;  &lt;/a&gt;&#xA;&lt;/div&gt;&#xA;&#xA;</description>
        </item><item>
            <title>.htaccessによるURL書き換え「Rewrite（リライト）」で転送する方法</title>
            <link>https://qwerty.work/post/2012/02/htaccessurl_rewrite/</link>
            <pubDate>Sun, 26 Feb 2012 21:06:38 +0900</pubDate>
            <guid>https://qwerty.work/post/2012/02/htaccessurl_rewrite/</guid>
            <description>&lt;h2 id=&#34;ドメインやurlの変更による転送&#34;&gt;ドメインやURLの変更による転送&#xA;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;.htaccess&lt;/strong&gt;に記述することにより、外部から要求されたリクエストURLを書き換えてリダイレクトすることができます。&lt;/p&gt;&#xA;&lt;p&gt;サイト移転、ファイル名の変更、ディレクトリ変更、更にはアクセス拒否まで絶大な効果を発揮します。&lt;/p&gt;&#xA;&lt;p&gt;具体的には、外部から要求されたリクエストURLを&lt;strong&gt;Apache&lt;/strong&gt;の&lt;strong&gt;mod_rewrite&lt;/strong&gt;拡張モジュール（URL書き換えエンジン）を使用し、 正規表現を使って書き換えます。&lt;strong&gt;Redirect&lt;/strong&gt;と異なり、リクエストの URL が実在しなくても転送が可能です。&lt;/p&gt;&#xA;&lt;p&gt;注意：サーバーの環境&#xA;Apache1.2 以降で使用可能。&#xA;Apache の&lt;strong&gt;httpd.conf&lt;/strong&gt;で、&lt;strong&gt;mod_rewrite&lt;/strong&gt;モジュールが利用可能になっている必要があります。&lt;/p&gt;&#xA;&lt;h2 id=&#34;htaccess-ファイルにおける-rewrite-の記述方法&#34;&gt;.htaccess ファイルにおける Rewrite の記述方法&#xA;&lt;/h2&gt;&lt;h3 id=&#34;一般的な書式&#34;&gt;一般的な書式&#xA;&lt;/h3&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteEngine on&#xA;RewriteBase /&#xA;&#xA;#WWWありで統一&#xA;RewriteCond %{HTTP_HOST} ^(example\.com)(:80)? [NC]&#xA;RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]&#xA;&#xA;#WWWなしで統一&#xA;RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]&#xA;RewriteRule ^(.*)$ https://%1/$1 [R=301,L]&#xA;&#xA;#HTTPSを強制&#xA;RewriteCond %{HTTPS} off&#xA;RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]&#xA;&#xA;#ディレクトリの移転&#xA;RewriteRule ^old_dir(.*)$ /new_dir$1 [R=301,L]&#xA;&#xA;#ファイルの移転&#xA;RewriteRule ^old_dir/index\.html$ /new_dir/index.html [R=301,L]&#xA;&#xA;#クローラのアクセス禁止&#xA;RewriteCond %{HTTP_USER_AGENT} Badbot-1 [NC, OR]&#xA;RewriteCond %{HTTP_USER_AGENT} Badbot-2 [NC]&#xA;RewriteRule !^robots\.txt$ - [F]&#xA;&#xA;RewriteEngine off&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;注意すること&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;書き換え対象に正規表現の特殊文字が含まれている場合は、&lt;code&gt;\&lt;/code&gt;（日本語環境では円マーク）でエスケープします。&lt;/li&gt;&#xA;&lt;li&gt;書き換え対象&lt;code&gt;old_dir&lt;/code&gt;が、&lt;code&gt;/&lt;/code&gt;から始まっていないことに注意してください。&lt;/li&gt;&#xA;&lt;li&gt;書き換え後&lt;code&gt;/new_dir&lt;/code&gt;が、&lt;code&gt;/&lt;/code&gt;から始まっていることに注意してください。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;よく使うhttpsとwwwなしにリダイレクトするルール&#34;&gt;よく使うHTTPSとWWWなしにリダイレクトするルール&#xA;&lt;/h3&gt;&lt;p&gt;以下の2つはどちらも同じ動作をします。&lt;/p&gt;&#xA;&lt;h4 id=&#34;それぞれ書く方法&#34;&gt;それぞれ書く方法&#xA;&lt;/h4&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteEngine On&#xA;&#xA;# httpをhttpsにリダイレクト&#xA;RewriteCond %{HTTPS} off&#xA;RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]&#xA;&#xA;# wwwありをwwwなしにリダイレクト&#xA;RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]&#xA;RewriteRule ^(.*)$ https://%1/$1 [L,R=301]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;同時に書く方法&#34;&gt;同時に書く方法&#xA;&lt;/h4&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteEngine On&#xA;&#xA;# httpとwwwありの両方をhttpsとwwwなしにリダイレクト&#xA;RewriteCond %{HTTPS} off [OR]&#xA;RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]&#xA;RewriteRule ^(.*)$ https://%1%{REQUEST_URI} [L,R=301]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;HTTPとWWWありで同時にアクセスがあった場合、複数のリダイレクト条件が連続して適用されることになり、サーバーからリダイレクト回数が多いという理由でで404エラーが返される場合があります。対処方法は今のところ不明です。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ファイルの移転&#34;&gt;ファイルの移転&#xA;&lt;/h3&gt;&lt;p&gt;ファイル名や階層を変更したとき、古いURLにアクセスがあったら新しいURLに転送します。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteRule ^old_dir/index\.html$ /new_dir/index.html [R=301,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;解説&#34;&gt;解説&#xA;&lt;/h4&gt;&lt;p&gt;&lt;code&gt;old_dir/index.html&lt;/code&gt;のアクセスを&lt;code&gt;/new_dir/index.html&lt;/code&gt;にリダイレクトし、ここではファイルが永久に移転したことを通知しています。書き換えが行われたら処理終了。&lt;code&gt;301&lt;/code&gt;は恒久的なリダイレクトで、一時的なリダイレクトは&lt;code&gt;302&lt;/code&gt;を指定します。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ディレクトリの移転転送&#34;&gt;ディレクトリの移転・転送&#xA;&lt;/h3&gt;&lt;p&gt;リクエストに対して、ディレクトリ全体が移転したことを知らせます。&lt;code&gt;http://～&lt;/code&gt;から記述することにより、外部ドメインへのリダイレクトも可能です。サイトの引っ越しなど、旧ドメインから新ドメインに転送に使います。&lt;/p&gt;&#xA;&lt;h4 id=&#34;内部移転&#34;&gt;内部移転&#xA;&lt;/h4&gt;&lt;p&gt;階層を変更したときなどに使います。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteRule ^old_dir(.*)$ /new_dir$1 [R=301,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;外部移転&#34;&gt;外部移転&#xA;&lt;/h4&gt;&lt;p&gt;ドメイン変更した際、旧ドメインにアクセスがあった場合、新しいドメインのサイトに転送したいときに使います。工事中など、一時的な転送の場合は&lt;code&gt;302&lt;/code&gt;を使用します。&lt;/p&gt;&#xA;&lt;p&gt;書式&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteRule ^old_dir(.*)$ https://www.example.com/new_dir$1 [R=301,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;使用例&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]&#xA;RewriteRule (.*)$ https://www.example.com [R=301,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;解説&#xA;&lt;code&gt;.*&lt;/code&gt;は任意の1文字0回以上の繰り返しを意味しています。&lt;code&gt;(.*)&lt;/code&gt;に該当する文字列が、後方参照&lt;code&gt;$1&lt;/code&gt;に入ります。&lt;/p&gt;&#xA;&lt;h3 id=&#34;拡張子の変更&#34;&gt;拡張子の変更&#xA;&lt;/h3&gt;&lt;p&gt;リクエストに対して、ファイルの拡張子を書き換えてリダイレクトします。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;# 拡張子が .html のファイルを、全て .phpl に変更する&#xA;RewriteRule ^(.*)\.html$ /$1.php [R=301,L]&#xA;&#xA;# 特定のディレクトリに対して、ファイルの拡張子を変更する&#xA;RewriteCond %{REQUEST_URI} ^/example/ [NC]&#xA;RewriteRule ^(.*)\.html$ /$1.php [R=301,L]&#xA;&#xA;# 特定のディレクトリを除いて、ファイルの拡張子を変更する&#xA;RewriteCond %{REQUEST_URI} !^/example/ [NC]&#xA;RewriteRule ^(.*)\.html$ /$1.php [R=301,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;解説&#xA;特定のディレクトリに関しては、（行頭から）&lt;code&gt;/example/&lt;/code&gt;の大小を問わない文字を含む（もしくは含まない）アクセスに対して、拡張子&lt;code&gt;.html&lt;/code&gt;を&lt;code&gt;.php&lt;/code&gt;に書き換えてリダイレクトしています。&#xA;ここではファイルが永久に移転したことを通知しています。書き換えが行われたら処理終了。&lt;/p&gt;&#xA;&lt;h3 id=&#34;サーバ移転サイトの引越し&#34;&gt;サーバ移転（サイトの引越し）&#xA;&lt;/h3&gt;&lt;p&gt;リクエスト全体を、新しいドメインへリダイレクトします。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteRule ^(.*)$ http://www.new-example.com/$1 [R=301,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;解説&#xA;HTTPステータスコード&lt;code&gt;R=301&lt;/code&gt;(Moved Permanently) を付加することにより、URLが永久に移動したことを検索サイトのクローラに通知します。&lt;/p&gt;&#xA;&lt;p&gt;この処理で、旧サイトのページランクを自動的にほぼ引き継ぐことができます。&#xA;検索サイトへの反映は、クローラにもよりますが、1週間から1ヶ月ほどかかります。&lt;/p&gt;&#xA;&lt;h3 id=&#34;ドメインの統一&#34;&gt;ドメインの統一&#xA;&lt;/h3&gt;&lt;p&gt;サーバーは1つのドメイン、例えば&lt;strong&gt;example.com&lt;/strong&gt;に対して、&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.example.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;www.example.com&lt;/a&gt;&lt;/strong&gt;でもリクエストを受け付けます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;host.com&lt;/strong&gt;がサブドメインを使用している場合は、更に&lt;strong&gt;example.host.com&lt;/strong&gt;と&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.example.host.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;www.example.host.com&lt;/a&gt;&lt;/strong&gt;でも閲覧可能になり、合計4つのサイトにアクセスが分散することになります。&#xA;これは、 SEO 対策上あまり好ましいことではありません。ここでは、&lt;code&gt;Rewrite&lt;/code&gt;を使って、&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.example.com&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;www.example.com&lt;/a&gt;&lt;/strong&gt;に統一する場合を記述します。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;サブドメインを使用していない場合&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteCond %{HTTP_HOST} ^(example\.com)(:80)? [NC]&#xA;RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;サブドメインを使用している場合&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteCond %{HTTP_HOST} ^(example\.com)(:80)? [NC,OR]&#xA;RewriteCond %{HTTP_HOST} ^(example\.host\.com)(:80)? [NC,OR]&#xA;RewriteCond %{HTTP_HOST} ^(www\.example\.host\.com)(:80)? [NC]&#xA;RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&#34;アクセス制限&#34;&gt;アクセス制限&#xA;&lt;/h3&gt;&lt;p&gt;サーバ変数を取得して、アクセス制限を掛けます。&lt;/p&gt;&#xA;&lt;p&gt;アクセス制限は、サーバに思わぬ負荷をかけることがあります。&lt;br&gt;&#xA;不必要なアクセス制限はできるだけ掛けないようにしてください。十分にアクセス情報を解析してから設定してください。設定によっては正当な訪問者もアクセスできなくなる可能性があります。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;[F]&lt;/code&gt;は、「Forbidden（アクセス禁止）」を意味します。&lt;/li&gt;&#xA;&lt;li&gt;特殊文字の前に&lt;code&gt;\&lt;/code&gt;（日本語環境では円マーク）を付加する事に注意してください。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;REMOTE_HOST&lt;/code&gt;は、サーバーによっては取得できない場合があります。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h4 id=&#34;特定のホストからのアクセスを全て禁止する&#34;&gt;特定のホストからのアクセスを全て禁止する&#xA;&lt;/h4&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteCond %{REMOTE_HOST} ^example\.com$ [NC, OR]&#xA;RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.&#xA;RewriteRule ^.* - [F]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;解説&#xA;&lt;code&gt;REMOTE_HOST&lt;/code&gt;が取得できない場合は、&lt;code&gt;REMOTE_ADDR&lt;/code&gt;を使用してアクセス制限をかけます。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;特定のブラウザからのアクセスを全て禁止する&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4\.0 \(compatible; MSIE 6\.0\)$ [NC]&#xA;&#xA;RewriteRule ^.* - [F]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;特定の-referer-からのアクセスを全て禁止する&#34;&gt;特定の Referer からのアクセスを全て禁止する&#xA;&lt;/h4&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteCond %{HTTP_REFERER} ^http://www\.example\.com/bad\.html$ [NC]&#xA;RewriteRule ^.* - [F]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;特定の-referer-以外からのアクセスを全て禁止する特定の-referer-からのみアクセスを全て許可する&#34;&gt;特定の Referer 以外からのアクセスを全て禁止する（=特定の Referer からのみアクセスを全て許可する）&#xA;&lt;/h4&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteCond %{HTTP_REFERER} !^http://www\.example\.com/good\.html$ [NC]&#xA;RewriteRule ^.* - [F]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;直リンクを全て禁止する&#34;&gt;直リンクを全て禁止する&#xA;&lt;/h4&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteCond %{HTTP_REFERER} !example\.com [NC]&#xA;RewriteRule ^.* - [F]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;解説&#xA;Referer が&lt;strong&gt;example.com&lt;/strong&gt;を含まないリクエストに対して、全てのアクセスを禁止します。&lt;/p&gt;&#xA;&lt;h4 id=&#34;画像の直リンクを禁止する&#34;&gt;画像の直リンクを禁止する&#xA;&lt;/h4&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteCond %{HTTP_REFERER} !example\.com [NC]&#xA;RewriteRule \.(jpg|png|gif)$ - [F]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;解説&#xA;Referer が&lt;strong&gt;example.com&lt;/strong&gt;を含まないリクエストに対して、拡張子が&lt;code&gt;.jpg&lt;/code&gt;または&lt;code&gt;.png&lt;/code&gt;または&lt;code&gt;.gif&lt;/code&gt;へのアクセスを禁止します。&lt;/p&gt;&#xA;&lt;h4 id=&#34;特定のホスト--特定のブラウザからのアクセスを禁止する&#34;&gt;特定のホスト &amp;amp; 特定のブラウザからのアクセスを禁止する&#xA;&lt;/h4&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteCond %{REMOTE_ADDR} ^192\.168\.1\.&#xA;RewriteCond %{HTTP_USER_AGENT} ^Mozilla/4\.0 \(compatible; MSIE 6\.0\)$&#xA;&#xA;RewriteRule ^.* - [F]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;h4 id=&#34;特定の検索ロボットクローラに対してrobotstxt以外のアクセスを禁止する&#34;&gt;特定の検索ロボット（クローラ）に対して、robots.txt以外のアクセスを禁止する&#xA;&lt;/h4&gt;&lt;p&gt;クローラのアクセス禁止は、サーバの負荷を伴います。そこで先に、ここに記述する全てのクローラを&lt;code&gt;robots.txt&lt;/code&gt;で拒否しておきます。それを無視した悪質クローラだけを、最終的にここでアクセス禁止にします。&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;RewriteCond %{HTTP_USER_AGENT} Badbot-1 [NC, OR]&#xA;RewriteCond %{HTTP_USER_AGENT} Badbot-2 [NC, OR]&#xA;RewriteCond %{HTTP_USER_AGENT} Badbot-3 [NC, OR]&#xA;RewriteCond %{HTTP_USER_AGENT} Badbot-n [NC]&#xA;&#xA;RewriteRule !^robots\.txt$ - [F]&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;解説&#xA;&lt;code&gt;HTTP_USER_AGENT&lt;/code&gt;が、&lt;code&gt;Badbot-1&lt;/code&gt;, から&lt;code&gt;Badbot-n&lt;/code&gt;の文字（文字の大小を区別しない）を含むクローラに対して、&lt;code&gt;robots.txt&lt;/code&gt;以外のアクセスを禁止します。&lt;/p&gt;&#xA;&lt;p&gt;※悪質クローラに対する対策の詳細は：&lt;a class=&#34;link&#34; href=&#34;http://webtech.akijapan.com/spam/robots.phtml&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;検索ロボット対策&lt;/a&gt;をご覧ください。&lt;/p&gt;&#xA;&lt;h2 id=&#34;説明&#34;&gt;説明&#xA;&lt;/h2&gt;&lt;h3 id=&#34;ディレクティブ&#34;&gt;ディレクティブ&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;  ディレクティブと書式&#xA;  初期値&#xA;  説明&#xA;&#xA;&#xA;&#xA;&#xA;  RewriteEngine on/off&#xA;  off&#xA;  書き換えの可否を設定。&#xA;&#xA;&#xA;  RewriteOptions inherit&#xA;  -&#xA;   inherit : 現在の設定値を親ディレクトリの設定値から強制的に継承する。 &#xA;&#xA;&#xA;  RewriteBase /&#xA;  /&#xA;   書き換えのベースとなるパス（ベースが明白な場合は不要）。 &#xA;&#xA;&#xA;  RewriteCond テスト文字列 条件 パターン。&#xA;  -&#xA;  条件によるテスト文字列とパターンの比較。&#xA;&#xA;&#xA;  RewriteRule パターン 置換対象。&#xA;  -&#xA;  パターンを置換対象で置き換える。&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;オプション&#34;&gt;オプション&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;  [R]&#xA;   強制的にリダイレクト (Redirect) する。&#xA;&#xA;    [R=301] : 永久的に移動。HTTP レスポンスの「301 : Moved Permanently」を返します。&#xA;&#xA;    [R=302] : 一時的な移動。HTTP レスポンスの「302 : Moved Temporarily」を返します、デフォルト。 &#xA;&#xA;&#xA;  [F]&#xA;   強制的にアクセス禁止 (Forbidden) にする。&#xA;&#xA;    HTTP レスポンスの「403 : Forbidden」を返します。 &#xA;&#xA;&#xA;  [G]&#xA;   強制的に消去済み (Gone) にする。&#xA;&#xA;    HTTP レスポンスの「410 : Gone」を返します。&#xA;    &#xA;    もはや存在しないページを消去済みとしてマークします。 &#xA;&#xA;&#xA;  [L]&#xA;   書き換えが行われたら終了 (Last) にする。&#xA;&#xA;    現在の書き換え後の URL が後続のルール によってそれ以上書き換えられることを防止します。 &#xA;&#xA;&#xA;  [NC]&#xA;   パターンについて、文字の大小を区別しない(No Case)。&#xA;    &#xA;    つまり、&amp;quot;A-Z&amp;quot; と &amp;quot;a-z&amp;quot; は区別されません。 &#xA;&#xA;&#xA;  [OR]&#xA;  または。&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;正規表現&#34;&gt;正規表現&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;  文字&#xA;  説明&#xA;&#xA;&#xA;&#xA;&#xA;  !&#xA;  否定。&#xA;&#xA;&#xA;  .&#xA;  任意の1文字。&#xA;&#xA;&#xA;  [ ]&#xA;  括弧内のいずれかの文字。&#xA;&#xA;&#xA;  [^ ]&#xA;  括弧内のいずれかの文字以外。&#xA;&#xA;&#xA;  |&#xA;  または。&#xA;&#xA;&#xA;  ?&#xA;  直前の文字の0回または1回の繰り返し&#xA;&#xA;&#xA;  *&#xA;  直前の文字の0回以上の繰り返し。&#xA;&#xA;&#xA;  +&#xA;  直前の文字の1回以上の繰り返し。&#xA;&#xA;&#xA;  ( )&#xA;  選択範囲の境界を明示する、もしくは後方参照を作成する。&#xA;&#xA;&#xA;  ^&#xA;  行頭。&#xA;&#xA;&#xA;  $&#xA;  行末。&#xA;&#xA;&#xA;  $n&#xA;  (0 &#xA;&#xA;&#xA;  %{ }&#xA;  サーバ変数の取得。&#xA;&#xA;&#xA;  \&#xA;  （日本語環境では円マーク）正規表現の特殊文字をエスケープする。 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;h3 id=&#34;サーバ変数&#34;&gt;サーバ変数&#xA;&lt;/h3&gt;&lt;pre&gt;&lt;code&gt;  変数名&#xA;  説明&#xA;&#xA;&#xA;&#xA;&#xA;  HTTP_USER_AGENT&#xA;  ブラウザの種類とバージョン。&#xA;&#xA;&#xA;  HTTP_REFERER&#xA;  参照元の URL 。&#xA;&#xA;&#xA;  HTTP_COOKIE&#xA;  設定されているクッキー情報。&#xA;&#xA;&#xA;  HTTP_FORWARDED&#xA;  プロキシサーバ情報。&#xA;&#xA;&#xA;  HTTP_HOST&#xA;  接続要求しているホスト名。&#xA;&#xA;&#xA;  HTTP_PROXY_CONNECTION&#xA;  接続先プロキシサーバとの接続状態。&#xA;&#xA;&#xA;  HTTP_ACCEPT&#xA;  ブラウザが認識可能なデータ形式。&#xA;&#xA;&#xA;  DOCUMENT_ROOT&#xA;  サイトのルートディレクトリ。&#xA;&#xA;&#xA;  SERVER_ADMIN&#xA;  サーバ管理者のメールアドレス情報。&#xA;&#xA;&#xA;  SERVER_NAME&#xA;  サーバのホスト名、ドメイン名、またはIPアドレス情報。&#xA;&#xA;&#xA;  SERVER_ADDR&#xA;  サーバのIPアドレス。&#xA;&#xA;&#xA;  SERVER_PORT&#xA;  送信に使われたサーバのポート番号。&#xA;&#xA;&#xA;  SERVER_PROTOCOL&#xA;  送信に使われたプロトコルの名前とレビジョン情報。&#xA;&#xA;&#xA;  SERVER_SOFTWARE&#xA;  起動したサーバソフトウエアの名前とバージョン情報。&#xA;&#xA;&#xA;  REMOTE_ADDR&#xA;  リモートホストのIPアドレス情報。&#xA;&#xA;&#xA;  REMOTE_HOST&#xA;  リモートホストのドメイン名。&#xA;&#xA;&#xA;  REMOTE_USER&#xA;  ユーザの認証名。&#xA;&#xA;&#xA;  REMOTE_IDENT&#xA;  リモートホストのユーザ名。&#xA;&#xA;&#xA;  REQUEST_METHOD&#xA;  リクエストを送信した方法。&#xA;&#xA;&#xA;  REQUEST_URI&#xA;  リクエストされたURI。&#xA;&#xA;&#xA;  SCRIPT_FILENAME&#xA;  現在実行しているスクリプト名。&#xA;&#xA;&#xA;  PATH_INFO&#xA;  クライアントから送られるパス情報。&#xA;&#xA;&#xA;  QUERY_STRING&#xA;  URL に付加して渡された &amp;quot;?&amp;quot; 以降の文字列。&#xA;&#xA;&#xA;  AUTH_TYPE&#xA;  ユーザを認証するときに使用する認証方法。&#xA;&#xA;&#xA;  TIME_YEAR&#xA;  サーバのシステム日付・年&#xA;&#xA;&#xA;  TIME_MON&#xA;  サーバのシステム日付・月&#xA;&#xA;&#xA;  TIME_DAY&#xA;  サーバのシステム日付・日&#xA;&#xA;&#xA;  TIME_HOUR&#xA;  サーバのシステム日付・時&#xA;&#xA;&#xA;  TIME_MIN&#xA;  サーバのシステム日付・分&#xA;&#xA;&#xA;  TIME_SEC&#xA;  サーバのシステム日付・秒&#xA;&#xA;&#xA;  TIME_WDAY&#xA;  サーバのシステム日付・曜日&#xA;&#xA;&#xA;  TIME&#xA;  サーバのシステム日付・Unix タイムスタンプ。&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;</description>
        </item></channel>
</rss>
