0

我正在尝试 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/
4

1 回答 1

2

使用此规则从结果 URL 中剥离查询字符串:

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

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

参考:Apache mod_rewrite 简介

于 2013-10-16T08:58:47.910 回答