質問: ### 前提・実現したいこと お世話になります。 ECショップを担当している者からの質問です。 ドメイン同一(ドメイン切替)で ショップサーブからフューチャーショップへ移転を行いました。 そこで、エンドユーザーのお気に入り登録などの対策として、 ショップサーブの時のURLをフューチャーショップでの同一内容ページへリダイレクト をかけたいと考えております。 htaccessにリダイレクトの記述をしたのですが、 移転元URLにパラメーターが付いたURLはリダイレクトされず、 パラメーター付きリダイレクトについて記述された 当サービスの下記のページを拝見しましたが、 掲載内容のように追記してもうまくいかず、 お分かりになる方がいらっしゃれば、お助けいただけたら幸いです。 下記その1、その2のようなやり方を試してみましたが、 当方htaccessのコードは理解することができず、 ネットで調べ持って記述をしているため、 どこが見当違いな書き方をしているなどが全くわかりません。 お詳しい方がいらっしゃいましたらお助け願えないでしょうか。 ### 現在記述しているhtaccess その1 ----------htaccessに記述している内容-------------- RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] (▼リダイレクトに成功している行▼) Redirect 301 /SHOP/mmmmmm.html https://www.aaa.com/bb/ccc/mmmmmm Redirect 301 /SHOP/nnn.html https://www.aaa.com/bb/ccc/nnn ・ ・ ・ (▲リダイレクトに成功している行END▲) (上記行に続いて) (▼リダイレクトができていない行▼) Redirect 301 /smp/list.php?type=class&mcat=YYYYYYY https://www.aaa.com/bb/ccc/d/EEEEE Redirect 301 /smp/list.php?type=class&mcat=ZZZZZZZ https://www.aaa.com/bb/ccc/d/FFFFF ・ ・ ・ (▲リダイレクトができていない行END▲) ErrorDocument 404 /404.html --- Redirect 301の行は720行ほどあります。 404が最終行で、404も成功しております。 ### 現在記述しているhtaccess その2 こちらのページにも パラメーター付きのリダイレクトについて記述がございましたので、 こちらの記述方法でも記述してみました。 ----------htaccessに記述している内容-------------- RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] (▼リダイレクトができていないパラメーター付きのURL▼) RewriteEngine on RewriteCond %{QUERY_STRING} ^?type=class&mcat=YYYYYYY$ RewriteRule /smp/list.php https://www.aaa.com/bb/ccc/d/EEEEE? [R=301,L] RewriteEngine on RewriteCond %{QUERY_STRING} ^?type=class&mcat=ZZZZZZZ$ RewriteRule /smp/list.php https://www.aaa.com/bb/ccc/d/FFFFF? [R=301,L] ・ ・ ・ (▲リダイレクトができていないパラメーター付きのURL END▲) (▼パラメーターがついていないURLが以下ずらっと並び リダイレクトに成功している行▼) Redirect 301 /SHOP/mmmmmm.html https://www.aaa.com/bb/ccc/mmmmmm Redirect 301 /SHOP/nnn.html https://www.aaa.com/bb/ccc/nnn ・ ・ ・ (▲リダイレクトに成功している行END▲) ErrorDocument 404 /404.html ---
回答: FSサポートの方が検討くださり、下記のような設定で解決することができました。 例)/smp/list.php?type=class&mcat=YYYYYYY → https://www.aaa.com/bb/ccc/d/EEEEE RewriteEngine on (←冒頭1行目のみ) RewriteCond %{QUERY_STRING} ^type\=class\&mcat\=YYYYYYY$ RewriteCond %{REQUEST_URI} ^/smp/list.php [NC] RewriteRule ^(.*)$ https://www.aaa.com/bb/ccc/d/EEEEE? [R=301,L] こちらでもご検討、ご助言くださった方々、誠にありがとうございました。