移転リダイレクト
http://example.com/foo/
以下に複数のページがあったとします。このページのURLが
http://example.com/hoge/
以下に変わったのでmod_rewriteを使ってリダイレクトしたいとします。
その方法はポリシーによって次の二つに分けられます。
- リダイレクト後アドレスバーにはリダイレクト先のURLを表示したい
- .htaccess
Options FollowSymLinks RewriteEngine on RewriteRule ^foo/(.+)$ hoge/$1 [R=301,L]
- .htaccess
- リダイレクト後アドレスバーには元のURLを表示したい
- .htaccess
Options FollowSymLinks RewriteEngine on RewriteRule ^foo/(.+)$ hoge/$1 [L]
- .htaccess
違いは R フラグの有無だけです。
当サイトでは下記のように使っています。
ポリシー | リダイレクト元 | リダイレクト先 |
上記1 | http://cubic9.com/Linux/Perl/ | http://cubic9.com/Devel/Perl/ |
上記2 | http://cubic9.com/index.rdf | http://cubic9.com/index.php?cmd=rss10pp |
備考
特定ディレクトリ以下の複数ページではなく、単一のページのみリダイレクトしたい場合は mod_aliasを使う方がいいと思います。
Redirect permanent /foo/ http://example.com/hoge/