2012-08-14 67 views

回答

2

当您使用重定向或重写时,默认情况下会发生这种情况。例如,在old-domain.com域的文档根htaccess的文件:

Redirect 301 /news.php http://www.new-domain.com/ 

的任何查询字符串(例如?NewsID=30888&test=3)那去/news.php将被自动地附加到http://www.new-domain.com/

同样的,mod_rewrite的:

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain.com$ [NC] 
RewriteRule ^news.php$ http://www.new-domain.com/ [L,R=301] 

编辑:有价值的信息:

ñ我的情况下,可以与news.php,所以它不是基于发生的任何网页它在news.php上。我只需要在可能来自任何页面的新域上的参数。例如:old-domain.com/pagename.php?var1=data1&var2=data2new-domain.com/?var1=data1&var2=data2

那么这将是:

RedirectMatch 301 ^/(.*) http://www.new-domain.com/ 

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(www\.)?old-domain.com$ [NC] 
RewriteRule^http://www.new-domain.com/ [L,R=301] 

就像我在我的回答说,实际的路径是不相关的。 查询字符串会自动附加,您不需要做任何特殊的事情

+0

感谢您的快速回答,但我不期待这一点。就我而言,它可能会发生在news.php以外的任何页面,所以它不是基于news.php。我只需要在可能来自任何页面的新域上的参数。 例如:http://www.old-domain.com/pagename.php?var1=data1&var2=data2 至 http://www.new-domain.com/?var1=data1&var2=data2 – 2012-08-14 20:39:12

+0

请参阅上面的修改然后 – 2012-08-14 20:42:31

+0

非常感谢Jon,工作! – 2012-08-14 20:55:00