WEBTODESIGN

階層を変えた時のhtaccessでのURLリダイレクト

WordPressのカスタム投稿タイプの階層のURLを変えることがありました。 その際、階層の投稿を全て新しいURLにリダイレクトさせたかったのでメモ。

htaccessに記述

例えば、「old」という階層のものを全て「new」という階層にリダイレクトさせたい。 その場合、以下の記述をhtaccessに追記します。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old(.*)$ /new$1 [R=301,L]
</IfModule>

例えば、https://example.com/old/2022https://example.com/new/2022 にリダイレクトされます。

適宜oldとnewの部分を変えて使用します。

WordPressの場合の注意点

WordPressを導入している場合のhtaccessは 「# BEGIN WordPress」から「# END WordPress」の間は上書きされてしまいます。なので、記述しないように注意です。

その場合は以下のように、BEGINとENDの外に記述します。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^old(.*)$ /new$1 [R=301,L]
</IfModule>

# BEGIN WordPress
〜
# END WordPress