我想将mypage.com/store/index.php?product_id=62&thisvar=doesntmatter重定向到mypage.com/store#page-anchor。我当前的重定向看起来像这样,但似乎没有做任何事情。我做错了吗?
RewriteCond %{QUERY_STRING} ^([^&]&)*product_id=62(&|$)
RewriteRule ^/store/index\.php$ /store#page-anchor [R=301,L]
编辑:我应该注意在重写规则之前我有以下几行:
RewriteEngine On
RewriteBase /
答案 0 :(得分:1)
([^&]&)*
位看起来不太合适。它匹配像“a& b& c&”这样的字符串(一对非&字符和&重复任意次数),这可能不是你想要的。我想你想写([^&]*&)*
,但我建议(^|&)product_id=62(&|$)
(为了安全,可读性和优雅)。
哦,如果它在.htaccess(而不是你的httpd.conf)中,RewriteRule中的模式应该是一个相对URI,即它不应该以{{1}}开头。