ブログ構築の手順は【総合まとめ】から!

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]

以上です。お役に立てば幸いッ!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です