別の HTAccess 書き換えの問題、申し訳ありません....
menuid=28421、menuid=27384、menuid=73841 を持つすべての URL を書き換えようとしています。問題は、menuid が長いクエリ文字列の一部であるにもかかわらず、すべてのパラメーターがクエリ文字列に含まれているわけではないことです。menuid の値のみに基づいて書き換え、その他のパラメータは無視したい。
http://www.domain.com/shop.php?menuid=28421&menuref=Ja&menutitle=New+Products&limit=5&page=8
http://www.domain.com/shop.php?menuid=27384&menuref=Ic&menutitle=Old+Products&page=3
http://www.domain.com/shop.php?menuid=73841&menuref=Hd&limit=10&page=14
リダイレクトの結果:
http://www.domain.com/new.html
http://www.domain.com/old.html
http://www.domain.com/sale.html
以下でこれを試しましたが、サイコロはありません:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^menuid=28421$ [NC]
RewriteRule ^shop\.php$ http://www.domain.com/new.html? [R=301,NE,NC,L]
製品カテゴリの menuid に基づいて Web ページを自動的に生成します。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^menuid=28421&page=1$ [NC]
RewriteRule ^shop\.php$ http://www.domain.com/new.html? [R=301,NE,NC,L]
@anubhava による追加の提案:
## 301 Redirects of Individual Menus, Ignoring the Limit Parameter etc...
RewriteEngine On
RewriteCond %{QUERY_STRING} (?:^|&)menuid=(?:28421|12356)(?:&|$) [NC]
RewriteRule ^shop\.php$ http://www.domain.com/new.html? [R=301,NE,NC,L]
アドバイスありがとうございます。
マーク。