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
.htaccess 删除www但不影响子域(htaccess)_.htaccess_Mod Rewrite_Subdomain_Canonical Link - Fatal编程技术网

.htaccess 删除www但不影响子域(htaccess)

.htaccess 删除www但不影响子域(htaccess),.htaccess,mod-rewrite,subdomain,canonical-link,.htaccess,Mod Rewrite,Subdomain,Canonical Link,这将从URL中删除www 如果没有规则,子域就可以工作(blog.site.com)。使用该规则,它将转换回(site.com/blog),并显示404个错误 我需要做些什么来防止它影响子域? 另外,我很好奇删除www.是否是一件好事?我听说只要你选择一个并坚持下去,这并不重要。我还使用来重新执行它 在开始博客时使用(blog\)?。变为可选,因此仅当它与blog.mysite.com和mysite.com不同时才会重定向 RewriteCond %{HTTP_HOST} !^mysite.co

这将从URL中删除www

如果没有规则,子域就可以工作(blog.site.com)。使用该规则,它将转换回(site.com/blog),并显示404个错误

我需要做些什么来防止它影响子域?

另外,我很好奇删除www.是否是一件好事?我听说只要你选择一个并坚持下去,这并不重要。我还使用
来重新执行它

在开始博客时使用
(blog\)?
。变为可选,因此仅当它与
blog.mysite.com
mysite.com
不同时才会重定向

RewriteCond %{HTTP_HOST} !^mysite.com$ [NC]
RewriteRule ^(.*)$ http://mysite.com/$1 [L,R=301]
另一种方法是:

RewriteCond %{HTTP_HOST} !^(blog\.)?mysite\.com$ [NC]
RewriteRule ^(.*)$ http://mysite.com/$1 [L,R=301]
这意味着如果主机名不同,则
mysite.com
blog.mysite.com
重定向

为了避免口是心非,最好在www和非www之间进行选择,并为此重定向所有内容


因此,如果你使用www,那么将非www重定向到www,反之亦然。

太棒了,谢谢。在我尝试的内容中缺少
\
使上一个组或字符可选,因此它可以匹配一个或另一个:)非常方便。
RewriteCond %{HTTP_HOST} !^mysite\.com$ [NC]
RewriteCond %{HTTP_HOST} !^blog\.mysite\.com$ [NC]
RewriteRule ^(.*)$ http://mysite.com/$1 [L,R=301]