我正在尝试编写一个301重定向,它将同时查看主机名和查询字符串参数。因此,如果URL是两者中的任何一个。
然后我希望它重定向到相应的页面:
否则,如果主机不是 example.com ,如
然后我不希望它重定向。
这是我到目前为止所做的,但似乎没有用。如果有人能在这个问题上提供一些帮助,那将是非常感激的。我已经尝试找到类似的答案,但我找不到一个。
RewriteEngine on
RewriteCond %{HTTP_HOST} !^example.com$ [NC]
RewriteCond %{query_string} p=11&b=3
RewriteRule (.*) http://store.example.com/testpage.html [R=301,L]
答案 0 :(得分:1)
您需要为替换网址指定一个空查询:
RewriteCond %{HTTP_HOST} ^(www\.)?example\.com$ [NC]
RewriteCond %{QUERY_STRING} p=11&b=3
RewriteRule .* http://store.example.com/testpage.html? [R=301,L]
否则原始请求的查询会自动附加到新URL。