パーマリンク変更で旧URLが404になるので.htaccessで301リダイレクトした

こんばんは。きわさです。

今回も備忘録です。
Wordpressのパーマリンク設定、そして.htaccessでのリダイレクトに関連する話です。

ブログ公開時のURLはパーマリンク設定で投稿名にしていて、次のような形式になっていました。
http://○○○.com/△△△/□□□/
http://○○○.com/△△△/◇◇◇/

これを、気分の問題ですが、拡張子htmlをつけたくなったので変更しました。
http://○○○.com/△△△/□□□.html
http://○○○.com/△△△/◇◇◇.html

ここで問題が発生したわけです。
もとの、http://○○○.com/△△△/□□□/やhttp://○○○.com/△△△/◇◇◇/にアクセスすると、
「ページが見つかりません」となるのです。

当たり前ですが。。
やっぱりいやですよね。

そこで、まだ記事も少なかったので、
http://○○○.com/△△△/□□□/ → http://○○○.com/△△△/□□□.html
http://○○○.com/△△△/◇◇◇/ → http://○○○.com/△△△/◇◇◇.html
のようにリダイレクトの設定をすれば良いという結論に至りました。

プラグインもいいけど.htaccessでもリダイレクトできるとのこと。
さっそく.htaccessを開きます。

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

すでに何やら書かれていました。
これはいじらないほうが良いそうなので、この上に追記しました。

<IfModule mod_rewrite.c>
Redirect permanent /△△△/□□□ http://○○○.com/△△△/□□□.html
Redirect permanent /△△△/◇◇◇ http://○○○.com/△△△/◇◇◇.html
</IfModule>

Redirect permanent リダイレクト前URL リダイレクト先URL
という感じで書けば良いらしいので簡単です。

ちなみに、このpermanentがあると301(永久的)、なければ302(一時的)なリダイレクトということのようです。

これでまた、少し勉強になりました。

スポンサーリンク