お問い合わせはコチラから

【WordPress】URLリダイレクトは.htaccessのどこに書く?

サイト運営

WordPressのURLを.htaccessでリダイレクトするぞ、と思って書いてみたら全くリダイレクトされずに小一時間悩んだのでメモとして残しておきます。

WordPressの記事URLをリダイレクトしようと思ったわけ

WordPressで投稿や個別記事を作成するとスラッグが付きます。このスラッグがWordpressの投稿や個別記事にアクセスするURLになります。

スラッグは設定によりますが、自分の場合はタイトルがスラッグになるように設定してあります。

WordPressがルールに則ってつけたスラッグを後から自分で変更した場合、Wordpress内部で勝手にリダイレクトされるようですが、自分で変更した後に再度変更するともうリダイレクトされません。

そんなときは301リダイレクトのお世話になるわけです。

今回リダイレクトしようと思った理由は、URLを自分で再度変更したからです。

WordPressが.htaccessに勝手に書き込む何か

301リダイレクトの書式そのものはググれば簡単に出てきます。

こんな感じです。

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteRule ^hoge/?$ /hogehoge/ [R=301,L]
RewriteRule ^hoge-hoge/?$ /hoge-hoge-hoge/ [R=301,L]

</IfModule>

しかし、Wordpressに対して301リダイレクトの記述を追加して、それを行う時に注意すべき点がいくつかあります。

まず、Wordpressが勝手に.htacessに何か書き込んでいます。

それは次のような記述です。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

自前のリダイレクトを記述するのは、この中でもないし、この後でもありません。

WordPressが追加した記述よりも手前に、リダイレクトの記述を追加しなければなりません。

そうすると期待通りに動きます。

ちなみに”/?$”は『最後にスラッシュがあっても無くてもよい』という意味の正規表現です。

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteRule ^hoge/?$ /hogehoge/ [R=301,L]
RewriteRule ^hoge-hoge/?$ /hoge-hoge-hoge/ [R=301,L]

</IfModule>

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

まとめ

.htaccessを直接いじる機会というのもあまりないので、たまにいじると昔ハマって調べたこともすっかり抜け落ちていて、また同じことを繰り返してしまいます。それがいい加減イヤになったのでこの記事を書きました。

URLの変更やサーバーの引っ越しなどで301リダイレクトをする機会は多いと思いますが、プラグインに頼らずに自前で.htaccessに書き込む場合は今回の記事の内容は覚えておいた方が良いです。

この記事を書いた人
ブーン

はるばる日本よりオランダ王国へやってまいりました。
自分の経験が少しでも参考になれば嬉しいです。
お問い合わせは、『こちら』からお願い致します。

\ブーンをフォロー/
スポンサーリンク
サイト運営
\シェアお願いします!/
\ブーンをフォロー/
こんな記事も読まれています

失敗しないレンタルサーバーランキング

mixhost

不正アクセスに強くて使いやすいおススメサーバー
\本サイトで利用中/
メリット①:自動ウィルス駆除対応
メリット②:サイトの表示速度が速い!
メリット③:転送量の上限が多い!
メリット④:自由にプラン変更ができ、アクセス増にも対応できる!
メリット⑤:バックアップデータが無料で復元できる!
メリット⑥:Wordpressが簡単にインストールできる!
メリット⑦:どのプランでも初期費用が無料!
メリット⑧:10日間の無料お試し期間と30日の返金保証!

Conoha Wing

国内Wordpress最速の最強サーバー
メリット①:圧倒的な表示速度
メリット②:レンタルサーバーと独自ドメインがセットでお得◎
メリット③:プラン変更はすべてのプランで自由自在
メリット④:一か月の利用転送量の制限が緩い(9TB~)
メリット⑤:WordPresサイトの移行が簡単

エックスサーバー

国内シェアNo1の安定性と実績が魅力。ALL SSDで死角なしの万能サーバー。
メリット①:サイトの表示速度が安定して速い!
メリット②:アクセス負荷に強くて安定性が高い!
メリット③:24時間365日の充実サポートで安心!電話サポートもあり!
メリット④:転送量が多い!
メリット⑤:自動バックアップ機能付き!
メリット⑥:WordPressが簡単にインストールできる!
メリット⑦:10日の無料お試し期間がある!

タイトルとURLをコピーしました