Top/Linux/Apache/モジュール/mod_rewrite/移転リダイレクト

移転リダイレクトはてなブックマーク

http://example.com/foo/
以下に複数のページがあったとします。このページのURLが
http://example.com/hoge/
以下に変わったのでmod_rewriteを使ってリダイレクトしたいとします。

その方法はポリシーによって次の二つに分けられます。

  1. リダイレクト後アドレスバーにはリダイレクト先のURLを表示したい
    • .htaccess
      Options FollowSymLinks
      
      RewriteEngine on
      RewriteRule ^foo/(.+)$ hoge/$1 [R=301,L]
  2. リダイレクト後アドレスバーには元のURLを表示したい
    • .htaccess
      Options FollowSymLinks
      
      RewriteEngine on
      RewriteRule ^foo/(.+)$ hoge/$1 [L]


違いは R フラグの有無だけです。
当サイトでは下記のように使っています。

ポリシーリダイレクト元リダイレクト先
上記1http://cubic9.com/Linux/Perl/http://cubic9.com/Devel/Perl/
上記2http://cubic9.com/index.rdfhttp://cubic9.com/index.php?cmd=rss10pp

備考

特定ディレクトリ以下の複数ページではなく、単一のページのみリダイレクトしたい場合は mod_aliasを使う方がいいと思います。

Redirect permanent /foo/ http://example.com/hoge/

メモ

差分 一覧