我有一些网页被谷歌索引,例如:重写规则忽视变量的URL
/product.html?affiliateid=142
我想重写规则301重定向到同一页面上,如果有一个affiliateid=xxx
到目前为止,我有这个:
RewriteCond %{QUERY_STRING} ^affiliateid=[0-9]+$
RewriteRule ^$ /test.html$ [L,R=301]
但它不工作,我需要摆脱变量,并获取页面名称莫名其妙。
我有一些网页被谷歌索引,例如:重写规则忽视变量的URL
/product.html?affiliateid=142
我想重写规则301重定向到同一页面上,如果有一个affiliateid=xxx
到目前为止,我有这个:
RewriteCond %{QUERY_STRING} ^affiliateid=[0-9]+$
RewriteRule ^$ /test.html$ [L,R=301]
但它不工作,我需要摆脱变量,并获取页面名称莫名其妙。
您需要指定您的替代网址空查询有原请求的查询不附加到新的URL:
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]
发现:
的RewriteCond%{QUERY_STRING}^AFFILIATEID =([0-9] +)$
RewriteRule ^(。*)$/$ 1? [L,NC,R = 301]
这是这个问号/ $ 1?它告诉规则在查询字符串处结束重写