我有一些由Google编制索引的网页,例如:
/product.html?affiliateid=142
如果有affiliateid=xxx
到目前为止,我有这个:
RewriteCond %{QUERY_STRING} ^affiliateid=[0-9]+$
RewriteRule ^$ /test.html$ [L,R=301]
但它不起作用,我需要摆脱变量并以某种方式获取页面名称。
答案 0 :(得分:0)
您需要在替换网址中指定一个空查询,以使原始请求的查询不会附加到新网址:
RewriteCond %{QUERY_STRING} ^affiliateid=[0-9]+$
RewriteRule ^ %{REQUEST_URI}? [L,R=301]
如果您想保留任何其他查询参数,请尝试以下方法:
RewriteCond %{QUERY_STRING} ^(([^&]*&)*)affiliateid=[0-9]+(&+(.*))?$
RewriteRule ^ %{REQUEST_URI}?%1%4 [L,R=301]
答案 1 :(得分:0)
找到它:
RewriteCond%{QUERY_STRING} ^ affiliateid =([0-9] +)$
RewriteRule ^(。*)$ / $ 1? [L,NC,R = 301]
这是问号/ $ 1?告诉规则在查询字符串
结束重写