Site icon Amelt.net

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

Amelt

Amelt

This post is also available in: 日本語 (Japanese)

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

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

<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>

Redirect permanent / http://www.efgh.nets/

order deny,allow

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

<Files ~ "^.(htaccess|htpasswd)$">
deny from all
</Files>

Redirect permanent /aaa/bbb.html http://www.efgh.nets/aaa/bbb.html
Redirect permanent /aaa/ http://www.efgh.nets/aaa/

order deny,allow