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

FC2ブログ「検索結果ページ」URL形式をサーバー側で再転送

FC2ブログからWordPress検索結果ページに対してURL転送を行う場合には、
metaタグまたはJavaScriptにて転送を行います。
検索結果ページはFC2ブログ側でクエリパラメータ部分を書き換えて転送を行うか、
移転先サーバー側でパラメータを変更するかのどちらかになります。
ここではWordPressサーバー側でパラメータの書き換えを行う例をご紹介します。

 

FC2ブログ「検索結果ページ」URL形式をサーバー側で再転送

FC2ブログの検索結果ページから、
metaタグやJavaScriptを利用して移転先ドメインへアクセスを流せば、
サーバー側で検索結果ページを表示することができます。

 

FC2ブログの検索結果ページではURLクエリパラメータに対して、
「?q=keyword」といった「q」が採用されています。

かたやWordPress側では「?s=keyword」といった「s」が採用されています。

そうした差異を考慮したURL転送例は以下でご紹介しています。

 

さて、ここではFC2ブログからURL形式を変更せず、
そのまま「?q=keyword」形式でアクセスを転送してきた際の例でご紹介します。

以下のような転送例です。

 

このURL形式の違いをサーバー側でURLの再転送を行います。

 

転送例 ?q=xxx ⇒ ?s=xxx
URL置換
?s=xxx
URL置換なし(記述不要)
Redirect 非対応 /?s=FC2
RedirectPermanent 非対応 /?s=FC2
Redirect Match 非対応 /?s=FC2
mod_rewrite /?q=FC2 /?s=FC2

 

Redirect
RedirectPermanent / RedirectTemp
Redirect Match

Redirect, RedirectPermanent / RedirectTemp, Redirect Matchによる
URL転送を行う場合、クエリ文字列を利用した転送は利用できません。

厳密にはクエリ文字列を引き継ぐことは可能ですが、
今回のようなクエリ文字列の「q」を「s」に置換するようなことはできません。

この3つのディレクティブを利用したクエリ文字列を含むURL転送は現実的ではありません。

 

この場合には、FC2ブログ側で転送先URLの指定を
metaタグにて「http://url-html.rensrv.com/?s=FC2」のように変更してから、
転送することで対応が行えます。

しかし、このように転送を行った場合には、
既にWordPressの検索結果ページのURL形式に変換済みになります。

よって、再転送は不要となります。

 

検索結果ページのURL転送において、
Redirect, RedirectPermanent / RedirectTemp, Redirect Matchの利用シーンはありません。

 

mod_rewrite

さて、次にmod_rewriteを利用したURLの再転送ですが、

この場合、FC2ブログからURL転送を行う際に、
クエリ文字列の「q」を「s」に置換することなく、

そのまま「http://fwding.blog.fc2.com/?q=FC2」を
「http://url-html.rensrv.com/?q=FC2」としてURLを転送します。

 

これはFC2ブログにJavaScriptによるURL転送を設定した場合の
URL転送時に移転先サーバーに要求されるURL形式です。

 

クエリパラメータの「q」をmod_rewriteによって「s」に変換します。

クエリパラメータのURL置換を.htaccessで行うには以下のように記載します。

 

これによって、
「http://url-html.rensrv.com/?q=FC2」へアクセスした際には、
以下のように動作します。

RewriteCond %{QUERY_STRING} ^q=(.*)$
RewriteRule ^ http://url-html.rensrv.com/?s=%1 [R=302,L]

 

RewriteCond行の%{QUERY_STRING}には、
要求URLのクエリパラメータ文字列「q=FC2」が取得できます。

そのクエリパラメータ文字列を「^q=(.*)$」という正規表現と比較しています。

(.*)」は、クエリ文字列の「q=」以降の部分を示しています。

「.*」にて任意の1文字の0回以上の繰り返しとして表現し、
この場合「FC2」という文字列とマッチングします。

()」括弧で括ることで、この「FC2」という文字列を置換後URLに挿入することができます。

RewriteCondで括弧指定した部分を挿入するには、
RewriteRule 側で「%」記号を利用します。この場合「%1」を示しています。

この「%1」部分にクエリ文字列から取得した「FC2」という値が渡されます。

結果、転送先URLは「http://url-html.rensrv.com/?s=FC2」となります。

 

FC2ブログから転送されたクエリパラメータを含むURLを、
移転先サーバーで再転送を行うサンプルは以下で確認できます。

 

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

http://url-html.rensrv.com/?q=FC2

 

プロモーション(btm)

Google or AdMax Promotion (it)

複数のキーワードクエリ文字列を含むURL転送

ここまでは単一のキーワードを含むクエリパラメータURLの例でしたが、
念のため複数のクエリパラメータを含むURLもチェックしておきます。

以下でご紹介しています。

 

 

クエリ文字列を含むURL転送について

クエリ文字列を含むURL転送は慣れていれば特に迷うことはありませんが、
いざ、設定してみるとうまくいかないこともあるでしょう。

そんな時には、以下でさまざまなパターンをご紹介しています。

併せてお読み頂けると理解が深まるかと思います。

 

URL転送が思うように動作しない場合

こうしたURL転送がうまく動作しない場合には、
以下で今一度、理解を深めておいた方がいいと思う点をご紹介しています。

お時間がおありでしたらお読みいただけると幸いです。

 

さいごに

検索結果ページ形式のURLは実際インデックスされていても、
アクセスが多く得られることはないでしょう。

FC2ブログからのURL転送時に神経質になる必要は少ないと思いますが、
既存のコンテンツを有効に転送するという意味で、
保険として転送を行っておくといいでしょう。

 


公開日:

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

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

Rakuten Promotion

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