頑張らない!でも諦めない!必死にならずにええかげん

(mod_rewrite)FC2ブログ「カテゴリ」URL再転送

FC2ブログからWordPressのカテゴリページに対してURL転送を行う際に
一旦サーバーへ転送を行った後のWordPress形式URLへ置換する
mod_rewriteを利用した記述例についてご紹介します。

 

.htaccessによるURL転送方法(mod_rewrite)

.htaccessによってURLの転送(置換)を行う際には、
様々な記述方法が利用できます。

ここではFC2のカテゴリアーカイブのURLを、
WordPressで利用されるURL形式に置換する例をご紹介します。

 

ここでは、以下のURLによってFC2ブログからmetaタグ転送が行われたURLを、
WordPressの各パーマリンク形式のURLに置き換える例をご紹介します。

 

転送例 英名スラッグへ 日本語名スラッグへ
Redirect blog-category-201.html blog-category-202.html
RedirectPermanent blog-category-211.html blog-category-212.html
Redirect Match blog-category-221.html blog-category-222.html
mod_rewrite blog-category-231.html blog-category-232.html

 

置き換える先のURLの例はここでは外部のサイトを指定して例示しますが、
通常は移行先のWordPressのドメインを指定することになります。
※例示においては確認用のサイトを利用しています。

文字コード留意点

日本語URLを利用する場合には、
.htaccessファイルの保存時の文字コードを「UTF-8 BOMなし」にて保存します。

SJISなどの文字コードで保存されている場合には、
転送先の日本語URLが正しく認識されない場合があります。

 

mod_rewrite

mod_rewriteを利用したURL転送(置換)によって、
URL形式を変換する例をご紹介します。

 

移転元、移転先のURLマッピング

転送先URL形式 転送元先 検証用転送先URL
英名スラッグへ 転送元→ http://cat-mr-fc2.freeblg.info/blog-category-231.html
→転送先 http://url-html.rensrv.com/category/category231
日本語名スラッグへ 転送元→ http://cat-mr-fc2.freeblg.info/blog-category-232.html
→転送先 http://url-html.rensrv.com/category/カテゴリ232

 

英名スラッグへ

FC2ブログ形式のURLをWordPressの英名スラッグカテゴリURLへ
転送を行う場合のサンプルURLは以下です。

 

すぐに転送され以下のURLにページが遷移します。

http://url-html.rensrv.com/category/category231

 

.htaccess記述例

mod_rewriteを利用したURL転送例は以下のようになります。

 

日本語名スラッグへ

FC2ブログ形式のURLをWordPressの日本語スラッグカテゴリURLへ
転送を行う場合のサンプルURLは以下です。

 

すぐに転送され以下のURLにページが遷移します。

http://url-html.rensrv.com/category/カテゴリ232

 

.htaccess記述例

mod_rewriteを利用したURL転送例は以下のようになります。

 

マッチングを利用したパターン

上記のパターンでは完全にパスの要求が一致している場合の、
転送例ですのでmod_rewriteの便利さを利用していません。

以下のように連番になる部分のURL置換を、
マッチングパターンで行う場合には以下のようにマッチングさせることができます。

 

以下のURLはそれぞれ番号に応じて、対象のカテゴリへ転送されます。

http://fc2.freeblg.info/blog-category-991.html
http://fc2.freeblg.info/blog-category-992.html
http://fc2.freeblg.info/blog-category-993.html
http://fc2.freeblg.info/blog-category-994.html
http://fc2.freeblg.info/blog-category-995.html
http://fc2.freeblg.info/blog-category-996.html
http://fc2.freeblg.info/blog-category-997.html
http://fc2.freeblg.info/blog-category-998.html
http://fc2.freeblg.info/blog-category-999.html

 

転送先のカテゴリアーカイブは、以下のようになります。

http://url-html.rensrv.com/category/category991
http://url-html.rensrv.com/category/category992
http://url-html.rensrv.com/category/category993
http://url-html.rensrv.com/category/category994
http://url-html.rensrv.com/category/category995
http://url-html.rensrv.com/category/category996
http://url-html.rensrv.com/category/category997
http://url-html.rensrv.com/category/category998
http://url-html.rensrv.com/category/category999

 

このように転送によって要求するパスを条件として、
そのまま置換後のパスに生かすことで、膨大なURL転送を共通コードで行うこともできます。

 

プロモーション(btm)

Google or AdMax Promotion (it)

WordPressによる初期設定と共存時の注意

URLの転送を行う場合には、
WordPressでパーマリンク設定を行うと自動的に生成される
.htaccessファイルにURL転送ルールを記述することになりますが、

以下のような初期状態で記述されている内容は、
消さないように注意します。

また「# BEGIN WordPress ~ # END WordPress」までは、
WordPressが削除・更新をしてくる部分なので、この中には記述しないようにします。

個別に追記する場合には、# BEGIN WordPressよりも前の行に、
個別のURL転送を記載するといいでしょう。

 

さいごに

mod_rewriteによるURL転送は複雑なURL転送を行うことができます。

記述に慣れるまでは思ったように転送がされないことも経験するでしょう。

しかしちゃんとポイントを押えて、記述することで
複雑なものも簡単なものもmod_rewriteによって実現することができるでしょう。

mod_rewriteによるURL転送のポイントなどを、
以下でご紹介しています。

 

上記のポイントは以下の様々なパターン検証をもとにして作成しています。

 

mod_rewriteがとっつきにくいようであれば、
パターンマッチングを気軽に利用できる、
Redirect Matchから始めるのもいいでしょう。

 

パターンマッチングの必要がないURL転送(1対1)であれば、
Redirect、RedirectPermanentなどで転送を行ってもいいと思います。

 

 


公開日:
最終更新日:2014/12/22

最後までお読みいただきありがとうございました。

ページ
すべて展開 | すべて省略

Rakuten Promotion

ブログ記事のご紹介
すべて展開 | すべて省略