note から WordPress に出戻りました!😭

XSERVER : サブドメインへのリダイレクトでループにハマらない .htaccess リダイレクトの書き方

だるかぶ

サンダルでスーパーカブ乗りの『だるかぶ』です!
ご訪問ありがとうございます。ゆっくりしていってね。(本ページは広告を含みます。)

XSERVER で運用中のサイトで、サブドメインへリダイレクトしようとして、リダイレクトループにハマったのでメモ。

前提 : XSERVER のディレクトリ構造

XSERVER でサブドメインを作成すると下記のような構造になり、ドキュメントルートにある .htaccess はサブドメインにも影響します。

example.com
 └ public_html
    ├ .htaccess
     └ sub.example.com(サブドメイン)
         └ .htaccess

リダイレクトループにハマる

https://example.com/a.html の記事をサブドメイン https://sub.example.com/a.html に移動する場合、ドキュメントルートにある .htaccess に

Redirect permanent /a.html https://sub.example.com/a.html

などと書いてしまうと、サブドメインのルートにある a.html もリダイレクトしようとして、リダイレクトループとなります。

リダイレクトループにならない解決方法

この場合、ホスト名が https://example.com の時だけリダイレクトが発動するよう、下記のように記述すればうまくいきます。

RewriteEngine On
RewriteCond %{http_host} ^example.com
RewriteRule ^a.html https://sub.example.com/a.html [R=301,L]

お役に立てば幸いッ!

現場からは以上です。それでは、またッ!!!