将子域重定向到新域

时间:2011-12-20 00:28:05

标签: apache .htaccess mod-rewrite

嗨,大家好想让301重定向工作并遇到麻烦。我需要将sub.domain1.com重定向到www.domain2.com,并确保使用它发送任何文件名或参数。

这就是我的尝试:

RewriteCond %{HTTP_HOST} ^domain1.com [NC] 
RewriteRule ^(.*)$ http://www.domain2.com/$1 [L,R=301] 

我也试过这个:

RewriteCond %{QUERY_STRING}  ^$
RewriteRule ^sub\.domain1\.com$ /www.domain2.com? [R=301,NE,NC,L]

我在哪里弄乱?

2 个答案:

答案 0 :(得分:2)

您错过了子域部分并正确转义。

RewriteCond %{HTTP_HOST} ^sub\.domain1\.com$ [NC] 
RewriteRule ^(.*)$ http://www.domain2.com/$1 [L,R=301]

可以找到进一步的解释in this question

答案 1 :(得分:0)

rewriterules的经验法则:从最复杂到复杂。 并且不要忘记QSA指令(QSA = Query String Append =“确保任何文件名或参数随之发送”)

RewriteCond %{HTTP_HOST} ^sub\.domain1\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain2.com/$1 [QSA,R=301,L]

告诉我它是否有效。