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_Url Rewriting - Fatal编程技术网

Apache 从重写条件中排除子域

Apache 从重写条件中排除子域,apache,.htaccess,mod-rewrite,url-rewriting,Apache,.htaccess,Mod Rewrite,Url Rewriting,我没有找到一个线程具有与当前相同的RewriteCond My root.htaccess的设置方式如下,因此它会重定向并自动将www添加到任何不包含www的URL中: Options -Indexes RewriteEngine on RewriteCond %{HTTP_HOST} ^(?!www\.)(.+) [NC] RewriteRule ^(.*) http://www.%1/$1 [R=301,NE,L] RewriteCond %{ENV:REDIRECT_STATUS}

我没有找到一个线程具有与当前相同的
RewriteCond

My root
.htaccess
的设置方式如下,因此它会重定向并自动将
www
添加到任何不包含
www
的URL中:

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
,因此需要排除此子域

如何做到这一点?

添加这一行:

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

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

清除缓存并尝试使用其他浏览器谢谢,但是,对于以前访问过我的网站的访问者,我能做些什么?我无法让他们清除缓存。或者因为它是一个新的子域,所以只有我的浏览器缓存了它,因为在新的重写之前我尝试访问
sub.mydomain.com
?如果有多个子域呢?我只是在问。在新规则出台之前,这只是你的缓存有问题。对于多个子域,如果你不想全部提及,那就更复杂了。为此提出新问题。