サブドメインからメインドメイン変更時のリダイレクト注意点

サブドメインからメインドメインに変更した時に301リダイレクトを.htaccessに書いたのですが、最初下記のように書いたらダメでした。

NG
RewriteEngine On
RewriteCond %{http_host} ^旧ドメイン
RewriteRule ^(.*) http://新ドメイン/$1 [R=301,L]

これだと管理画面にアクセスするとリダイレクトループが発生して正常に処理されないのと、cssや画像がきちんと読み込まれませんでした。そこで管理画面とcssや画像などをリダイレクト対象外にするとうまくいきました。

OK
RewriteEngine On
RewriteCond %{http_host} ^旧ドメイン
RewriteCond %{REQUEST_URI} !(^/foo/) #管理画面を除外
RewriteCond %{REQUEST_URI} !\.css$
RewriteCond %{REQUEST_URI} !\.js$
RewriteCond %{REQUEST_URI} !\.jpg$
RewriteCond %{REQUEST_URI} !\.gif$
RewriteCond %{REQUEST_URI} !\.png$
RewriteRule ^(.*) http://新ドメイン/$1 [R=301,L]
sponsor