htaccessで301リダイレクトする時のページとディレクトリを書く順番

記事公開日:
最終更新日:

htaccessを使って、ディレクトリ以下のページを301リダイレクトしてサイト移転する際に、htaccessは上から読み込まれますので、301リダイレクトしたいページを先に、ディレクトリを後に記述しないと、上手く転送してくれませんよ…って話です。

例えば http://www.abcd.net から http://www.efgh.net にサイト移転する場合に、http://www.abcd.net のindex.html(index.php)があるディレクトリに以下のようなhtaccessを設置しているとします。

<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
Redirect permanent / http://www.efgh.net/
order deny,allow

ここで http://www.abcd.net/aaa/bbb.html というページを http://www.efgh.net/aaa/bbb.html へ、ディレクトリを http://www.efgh.net/aaa/ へと転送したい場合には、以下のような順番で記述します(wordpressのカテゴリと、そのカテゴリ以下のページみたいなイメージですね)。

<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>
Redirect permanent /aaa/bbb.html http://www.efgh.net/aaa/bbb.html
Redirect permanent /aaa/ http://www.efgh.net/aaa/
order deny,allow

About
Amelt.net,LLCの創業者で、費用対効果の高い統合webマーケティングによりビジネスパートナーとして継続的にサポート。詳しいより。ブログの更新情報TwitterLinkedIn、またRSSfeedlyにてお知らせしていますのでフォローよろしくお願い致します。