2016-09-26 89 views
-1

我没有找到与我目前具有相同的RewriteCond的线程。从Rewritecond中排除子域名

我的根.htaccess设置下面的方式,所以它重定向和经销商增加www到不包含任何www网址:

Options -Indexes 

RewriteEngine on 

RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC] 
RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L] 

RewriteCond %{ENV:REDIRECT_STATUS} ^$ 
RewriteCond %{HTTP_USER_AGENT} ^(BadBot1|BadBot2) [NC,OR] 
RewriteCond %{HTTP_USER_AGENT} ^$ 
RewriteRule ^.* - [F,L] 

不过,我希望用户能够访问子域 - sub.mydomain.com,所以这个子域需要排除。

如何做到这一点?

回答

1

加入这一行:

RewriteCond %{HTTP_HOST} !^sub\. [NC] 

前:

RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC] 
RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L] 
+0

它不工作... – rockyraw

+0

清除缓存,并与其他浏览器尝试 – Croises

+0

谢谢,但是,我能做些什么有关以前访问我的网站?我无法让他们清除缓存。或者因为它是一个新的子域,它只是我的浏览器缓存它,因为我试图在新的重写之前访问'sub.mydomain.com'? – rockyraw