WordPressでプラグインを使わずにリダイレクトする方法

サイトリニューアル等でURLが変わってしまった場合、リダイレクトさせる必要があります。

WordPressの場合、リダイレクトに関連したプラグインがあるので、そちらを使うのが良策です。

しかし、どうしてもプラグインを使えないという場合には.htaccessファイルを修正することで対応できます。

具体的な方法ですが、WordPressをインストールするとデフォルトで.htaccessファイルが存在しているので、そちらを修正します。

ここで注意なのは今回のリダイレクト設定をどこに追加するかです。

デフォルトで以下のような記載があります。


# BEGIN WordPress
# "BEGIN WordPress" から "END WordPress" までのディレクティブ (行) は
# 動的に生成され、WordPress フィルターによってのみ修正が可能です。
# これらのマーカー間にあるディレクティブへのいかなる変更も上書きされてしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

コメントにある通り、BEGINとENDの間には設定を追加できません。

となると、上か下か。

答えは上です!

余談ですが、.htaccessでリダイレクト設定をする場合は、パスの先頭にスラッシュは付きません。

ちなみにhttpd.confで同じことをしようとする場合は、パスの先頭にスラッシュが付きます。ややこしい。。。