WordPress

以前のサイトをブックマークしたり、サービスに登録したりする際に、

https://hogehoge.hoge/index.html

と、index.htmlで登録していたりした場合に、サイトをWordPressにしたら

404になってしまいます。

リンク切れのようになってしまうので、

404でなく、トップページにリダイレクトしてあげればいいので、

その設定をメモります。

 

まず、WordPressを下層のディレクトリにインストールして、公開時にトップディレクトに表示するようにしてます。

サイトの移行の際によくやることです。

仮に

https://hogehoge.hoge/wp/

にWordPressを入れた場合、

https://hogehoge.hoge/wp/の.htaccessとindex.phpを上のディレクト

https://hogehoge.hoge/に移動して設定を変更します。

このやり方はここでは割愛いたします。

そのため、トップディレクトリにある、.htaccess を編集します。wpに.htaccessがあってもこちらは関係ありません。

.htaccessファイルのWordPressの部分がこの様になってるとおもいます。

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$[L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

以下を

RewriteRule ^index\.html?$ / [R=301,L]

追加します。

このようになります。

私の環境ではこれでうまくいきました。

ただ、うまく行かない場合もあるようです。


# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.html?$ / [R=301,L]
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress