例如:
http://www.old-domain.com/news.php?NewsID=30888&test=3
到:
http://www.new-domain.com/?NewsID=30888&test=3
我只需要获取新域上的参数而不是页面'news.php'
当您使用重定向或重写时,默认情况下会发生这种情况。例如,在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=data2
到new-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]
就像我在回答中所说的那样,实际路径是无关紧要的。查询字符串会自动附加,您无需执行任何特殊操作。