WordPressでindex.htmlをリダイレクトする方法
既存のサイトをWordPressに置き換えたあとによく発生する問題です。
リンクや検索エンジンの登録が、”/”ルートではなく ”/index.html”に対してなされている場合があります。
このとき、WordPressは404を返してしまうんですね。
.htaccessでリダイレクト処理
じゃあ、ってんで.htaccessに単純に
Redirect permanent /index.html / |
と追加すると、リダイレクトが無限ループしてしまいます。
ここは、mod_rewriteで次のように書き換えるのが正解。
<ifmodule mod_rewrite.c=""> RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ /$1 [R=301,L] </ifmodule> |
広告
あるいはシンプルにこれでもいけるようです。
RedirectMatch 301 ^/index\.htm.$ / |
index.htm.で、index.htmlとindex.htmとどちらでも対応できるようになっている。はず。
プラグインRedirectionを使う
もう一つの方法。
WordPressのリダイレクトを管理するプラグイン、Redirectionを使います。
WordPress › Redirection « WordPress Plugins
リダイレクトのマッチ回数がカウントされるので便利ではありますが、WordPressのバージョンに問題がある場合、データベース容量に制約がある場合は使わない方が無難です。
(リダイレクトのログがどんどん溜まっていきます)
WordPressでindex.htmlをリダイレクトする方法 http://t.co/bsCNgXi