2012年11月02日

パラメータ付きURLの301リダイレクト

【今回の経緯】
・ECサイトリニューアル(2012年7月24日)した。EC-CUBEからEストアーに乗せ変え
・パラメータ付きURLのリダイレクトが上手く行かないので、大体でリダイレクトしてたら順位が落ち始めた。(2012年8月12日)
・やばいと思って、確実にリダイレクト設定をして、無駄なものをrobot.txtでブロックした。(9月30日)
・そしたら、順位は回復したが、ウェブマスターツールからブロックしているURLがあるとの警告。(2012年10月)・ビビッたので、再度確認したら、パラメータのリダイレクト上手く行ってなかった(汗)(2012年11月2日)
それからrobot.txtのブロックを解除

【現象】
http://www.aaaa.com/product/detail.php?product_id=38をリダイレクトして
http://www.aaaa.com/item101.htmlにしていたつもりが、
http://www.aaaa.com/item101.html?product_id=38となってしまっていた。

【対処した内容】
1.やりたいこと
http://www.aaaa.com/product/detail.php?product_id=38(旧URL)
を(上記EC-CUBE)
http://www.aaaa.com/item101.html
にリダイレクトしたい(商品は全く同一のため、旧サイトのドメインパワーを引き継ぎたい)

2.やったこと
RewriteEngine On
RewriteCond %{REQUEST_URI} products/detail.php
RewriteCond %{QUERY_STRING} ^product_id=38
RewriteRule ^(.*)$ /item101.html? [R=301,L]
と記述

1行目はおまじない
2行目で対象ファイルを指定している。
3行目パラメータは「QUERY_STRING」に格納されるそうなので、パラメータを指定してる。
2〜3行目ではじめてURL置換対象を「product/detail.php?product_id=38」と指定することが完了している模様w
4行目で置換するhtmlの後ろの「?」が非常に大切!!これが無いと「/item101.html?product_id=38」というように、
置換したURLに以前のパラメータが付与されてしまう。
なので、「?」を付けると上手く置換してくれる。

以上。かなりはまったが上手く行った。


今後の結果として、ある特定のキーワードの順位が元の水準に戻ってくれると助かるわ。
まぁ、今回はパラメータ付きのURLリダイレクト方法が勉強になったのでOK

参考URL:http://as76.net/prg/htac_para.php
【関連する記事】
posted by いくき at 19:20| Comment(0) | ECサイト | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。