例如:
http://www.old-domain.com/news.php?NewsID=30888&test=3
为:
http://www.new-domain.com/?NewsID=30888&test=3
我只需要获取新域名上的参数而不是“news.php”页面
答案 0 :(得分: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=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]
就像我在回答中所说,实际的路径是无关紧要的。 查询字符串会自动附加,您无需执行任何特殊操作。