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

(Redirect Match)FC2ブログ「年月別」URL形式を再転送

FC2ブログからWordPressの年月別アーカイブページに対してURL転送を行う際に
一旦サーバーへ転送を行った後のWordPress形式URLへ置換する
Redirect Matchディレクティブを利用した記述例についてご紹介します。

 

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

Redirect Matchディレクティブを利用した
FC2ブログ形式の年月別アーカイブページの転送について、

ここではFC2ブログ形式のURLから移転先のドメイン名のみを変更し、
一旦移転先のサーバーへ転送を行うことを想定しています。

 

Redirect Match

Redirect Matchディレクティブを利用した場合には、
パターンマッチングによる動的なURL生成が利用できます。

その為、多くのURLをパターン化して、
1つの記述で表現することができます。

 

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

タグURL形式 転送元先 検証用転送先URL
年別アーカイブ 転送元→ http://date-rm-fc2.freeblg.info/blog-date-2014.html
→転送先 http://url-html.rensrv.com/2014
年月アーカイブ 転送元→ http://date-rm-fc2.freeblg.info/blog-date-201412.html
→転送先 http://url-html.rensrv.com/2014/12
年月日アーカイブ 転送元→ http://date-rm-fc2.freeblg.info/blog-date-20141209.html
→転送先 http://url-html.rensrv.com/2014/12/09

転送先URLの末尾にスラッシュ「/」がないのは、
パーマリンク設定をカスタムとして、URLの末尾を「.html」として設定した際に、
WordPress3.9.2では末尾スラッシュなしとなってしまうためです。
それぞれの環境に合わせて必要ならスラッシュ付きで.htaccessに記載してください。

Redirect Matchディレクティブを利用した場合には、
年月ごとに転送の記述をマッチングパターンで記述することができます。

パターン指定を行うことができるので、
要求されたURLから動的に転送先URLを生成させることができます。

 

年別アーカイブ

1つの年別アーカイブページをFC2ブログからリダイレクトを行って、
WordPress形式のURLに再転送を行うには、
以下のように.htaccessへ記述します。

 

この記述によって、以下のように判定されています。

RedirectMatch 302 ^/blog-date-([0-9]{4})\.html http://url-html.rensrv.com/$1

要求パスに対して、正規表現を用いたパターンマッチングを利用しています。

[0-9]」は、数字の0~9のいずれかの文字であることを示しています。
{4}」は直前に指定した0~9の文字が、4文字であることを示しています。

これによって、2014などの西暦4桁(YYYY)が入ることを表現しています。

\」は「.html」拡張子を表現するために、特殊な意味がある「. (任意の1文字の意味)」を、
本来の文字としてのピリオドとして表現するために、エスケープしています。

これによって要求パスが「/blog-date-YYYY.html」である場合に、
このパターンにマッチします。

([0-9]{4})」の括弧に含まれる部分の文字を、
置換後文字列で利用するために記憶しておく(変数化)ことを意味しています。

この記憶した値を「$1」として、利用しています。
「/blog-date-2014.html」と要求された場合、/2014 として置換後パスに挿入されます。

 

以下のURLにアクセスするとURLが転送されるのが確認できます。

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

 

年月別アーカイブ

1つの年月別アーカイブページをFC2ブログからリダイレクトを行って、
WordPress形式のURLに再転送を行うには、
以下のように.htaccessへ記述します。

 

この記述によって、以下のように判定されています。

RedirectMatch 302 ^/blog-date-([0-9]{4})([0-9]{2})\.html http://url-html.rensrv.com/$1/$2

要求パスに対して、正規表現を用いたパターンマッチングを利用しています。

[0-9]」は、数字の0~9のいずれかの文字であることを示しています。
{4}」は直前に指定した0~9の文字が、4文字であることを示しています。
これによって、2014などの西暦4桁(YYYY)が入ることを表現しています。

{2}」は直前に指定した0~9の文字が、2文字であることを示しています。
これによって、12などの月2桁(MM)、日2桁(DD)が入ることを表現しています。

\」は「.html」拡張子を表現するために、特殊な意味がある「. (任意の1文字の意味)」を、
本来の文字としてのピリオドとして表現するために、エスケープしています。

これによって要求パスが「/blog-date-YYYYMM.html」である場合に、
このパターンにマッチします。

([0-9]{4})」「([0-9]{2})」の括弧に含まれる部分の文字を、
置換後文字列で利用するために記憶しておく(変数化)ことを意味しています。

この記憶した値を「$1」「$2」として、利用しています。
番号は左から順番に付与されます。
「/blog-date-201412.html」と要求された場合、/2014/12 として置換後パスに挿入されます。

 

以下のURLにアクセスするとURLが転送されるのが確認できます。

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

 

年月日別アーカイブ

1つの年月別アーカイブページをFC2ブログからリダイレクトを行って、
WordPress形式のURLに再転送を行うには、
以下のように.htaccessへ記述します。

 

この記述によって、以下のように判定されています。

RedirectMatch 302 ^/blog-date-([0-9]{4})([0-9]{2})([0-9]{2})\.html http://url-html.rensrv.com/$1/$2/$3

要求パスに対して、正規表現を用いたパターンマッチングを利用しています。

[0-9]」は、数字の0~9のいずれかの文字であることを示しています。
{4}」は直前に指定した0~9の文字が、4文字であることを示しています。
これによって、2014などの西暦4桁(YYYY)が入ることを表現しています。

{2}」は直前に指定した0~9の文字が、2文字であることを示しています。
これによって、12などの月2桁(MM)、日2桁(DD)が入ることを表現しています。

\」は「.html」拡張子を表現するために、特殊な意味がある「. (任意の1文字の意味)」を、
本来の文字としてのピリオドとして表現するために、エスケープしています。

これによって要求パスが「/blog-date-YYYYMMDD.html」である場合に、
このパターンにマッチします。

([0-9]{4})」「([0-9]{2})」「([0-9]{2})」の括弧に含まれる部分の文字を、
置換後文字列で利用するために記憶しておく(変数化)ことを意味しています。

この記憶した値を「$1」「$2」「$3」として、利用しています。
番号は左から順番に付与されます。
「/blog-date-20141209.html」と要求された場合、/2014/12/09 として置換後パスに挿入されます。

 

以下のURLにアクセスするとURLが転送されるのが確認できます。

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

 

プロモーション(btm)

Google or AdMax Promotion (it)

さいごに

年月アーカイブ形式のURLは、
FC2ブログから移転先サーバにURL転送を行う際に、
JavaScriptを利用した転送を行うしかないタイプのページです。

年月別アーカイブのインデックスがさほど重要だとは思っていませんが、
念のためURL転送を行っておく程度の力感でいいのではないかと思います。

 


公開日:

*本ページ内に記載されされた各社ブランド、サービス名、商標、登録商標については、
各社ブランドのロゴや商標等に関する帰属についてをご確認ください


アイキャッチ画像に利用させて頂いております、各社ブランドのロゴやシンボルに関しては、
各社ブランドのロゴや商標等に関する帰属についてをご確認頂けますようお願い致します。
ロゴの使用等に関する苦情・ご意見等がございましたら管理者までご連絡ください。

最後までお読みいただきありがとうございました。
アルゴリズン

役に立ったと思っていただけたら、以下からシェア頂けたら幸いです^^

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

Rakuten Promotion

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