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のバージョンに問題がある場合、データベース容量に制約がある場合は使わない方が無難です。
(リダイレクトのログがどんどん溜まっていきます)

About: adminuser


3 thoughts on “WordPressでindex.htmlをリダイレクトする方法”

  1. Pingback: MOON1969

Leave a Reply

Your email address will not be published. Required fields are marked *