Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 将子域重定向到新域_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Apache 将子域重定向到新域

Apache 将子域重定向到新域,apache,.htaccess,mod-rewrite,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\

嗨,伙计们,试图让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]

我在哪里搞砸了?

你错过了子域部分和正确的转义

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

可以找到进一步的解释。

重写规则的经验法则:从最复杂到不太复杂。 不要忘记QSA指令(QSA=querystringappend=“确保所有文件名或参数都随它一起发送”)

告诉我它是否有效

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