.htaccess将一个域重定向到另一个域,包括特定的查询字符串

时间:2011-06-20 16:05:49

标签: .htaccess redirect query-string

基本上我需要重定向

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

http://www.new-domain.com/news.php?NewsID=30888

使用htaccess但是只有查询字符串如上所述。任何其他查询str ings I need to continue to go to http://www.old-domain.com/news.php?NewsID=whatever_querystring。

所以我需要匹配30888,然后重定向到包含news.php?NewsID=30888的全新网站。

提前致谢

2 个答案:

答案 0 :(得分:1)

将此代码放入.htaccess并尝试;

Options +FollowSymlinks -MultiViews
RewriteEngine on

RewriteCond %{QUERY_STRING} ^NewsID=30888 [NC]
RewriteCond %{HTTP_HOST} ^www\.old-domain\.com$ [NC]
RewriteRule ^ http://www.new-domain.com%{REQUEST_URI}?%{QUERY_STRING} [R=301,L]

答案 1 :(得分:0)

您必须测试您的查询字符串和主机名:

RewriteCond %{QUERY_STRING} NewsID=30888 [NC]
RewriteCond %{HTTP_HOST}    ^(www\.)?old-domain\.com$ [NC]
RewriteRule ^/(.*)          http://www.new-domain.com/$1 [L,R]