.htaccessの301リダイレクトが上手くいかない場合
一般的に301リダイレクトは以下のような方法が紹介されている場合が多い。
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://sample.com/$1 [R=301,L]
ところが、wiki系やWordPress等を使用していると、一部もしくは全部にURLエンコードを含んでいる場合が多い。
この時、301リダイレクトはかなりの確率で失敗する。
例
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://sample.com/$A%B%C$1 [R=301,L]
こういう場合は、RedirectMatchを使用すると上手くいくケースが多い。
例
RedirectMatch \/.*\.html$ http://sample.com/%A%B%C
タグ: .htaccess