EC-CUBEで構築されたECサイトをクローズする対応の中で .htaccess で指定ページやカテゴリをトップページへリダイレクトさせる対応を行ったのですが、カテゴリや商品詳細ページなどパラメーターがついているページからリダイレクトする際に “?category_id=1” のようなパラメーターも引き継いでしまいました。
パラメーターを引き継いでしまうリダイレクト
以下の方法では “http://example.com/products/list?category_id=1” にアクセスすると “http://example.com/?category_id=1” と意図とは違いパラメーターを引き継いでしまいます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^products(.*) http://example.com/ [R=301,L]
</IfModule>
パラメーターを引き継がないリダイレクト
パラメーターを引き継がないようにするにはリダイレクト先のURLの後ろにクエスチョンマーク「?」を追加することで回避出来ます。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^products(.*) http://example.com/? [R=301,L]
</IfModule>
コメント