1

例如:

http://www.old-domain.com/news.php?NewsID=30888&test=3

到:

http://www.new-domain.com/?NewsID=30888&test=3

我只需要获取新域上的参数而不是页面'news.php'

4

1 回答 1

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]

就像我在回答中所说的那样,实际路径是无关紧要的。查询字符串会自动附加,您无需执行任何特殊操作

于 2012-08-14T20:26:10.530 回答