・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
にリダイレクトしたい(商品は全く同一のため、旧サイトのドメインパワーを引き継ぎたい)
RewriteEngine On
RewriteCond %{REQUEST_URI} products/detail.php
RewriteCond %{QUERY_STRING} ^product_id=38
RewriteRule ^(.*)$ /item101.html? [R=301,L]
と記述RewriteCond %{REQUEST_URI} products/detail.php
RewriteCond %{QUERY_STRING} ^product_id=38
RewriteRule ^(.*)$ /item101.html? [R=301,L]
2行目で対象ファイルを指定している。
3行目パラメータは「QUERY_STRING」に格納されるそうなので、パラメータを指定してる。
2〜3行目ではじめてURL置換対象を「product/detail.php?product_id=38」と指定することが完了している模様w
4行目で置換するhtmlの後ろの「?」が非常に大切!!これが無いと「/item101.html?product_id=38」というように、
置換したURLに以前のパラメータが付与されてしまう。
なので、「?」を付けると上手く置換してくれる。
まぁ、今回はパラメータ付きのURLリダイレクト方法が勉強になったのでOK
ラベル:301リダイレクト
【関連する記事】