1

別の 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]

アドバイスありがとうございます。

マーク。

4

1 に答える 1