嗨,大家好想让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]
我在哪里弄乱?
答案 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]
告诉我它是否有效。