301 将所有页面(包括查询字符串)重定向到新域的主页


301 Redirect all pages including query strings to main page of new domain

我正在尝试 301 将所有 url(包括带有查询字符串的 url)重定向到新域上的一个页面。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www'.)?domain1'.com$ [NC]
RewriteRule ^(.*)$ "http://www.domain2.com/" [R=301,L]

问题是这不会从 URL 中删除查询字符串。它重定向

domain1.com/?PageAction=VIEWPROD&ProdID=57&HS=1

domain2.com/?PageAction=VIEWPROD&ProdID=57&HS=1

而不是

domain2.com/

使用此规则从生成的 URL 中删除查询字符串:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www'.)?domain1'.com$ [NC]
RewriteRule ^ http://www.domain2.com/? [R=301,L]

请注意http://www.domain2.com/?末尾的?,以去除原始 URL 中的任何现有查询字符串。

参考:阿帕奇mod_rewrite简介