HtAccess:强制使用 WWW,但保留子域掩码



我试图强制使用.www,这样谷歌就不会两次选择我的网站,但是当我这样做时,我的子域不再使用[P]屏蔽。

RewriteEngine on
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} ^yourdomain.com [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^((www.)?)domain.com [NC] 
RewriteCond %{HTTP_HOST} ^(.*).domain.com
RewriteRule ^(.*)$ http://domain.com/website/%1$1 [L,NC,P]

当我访问一个屏蔽的域时,它只是重定向而不再屏蔽。如果我去掉顶部,子域工作正常,但它不会强制 .www

尝试更改规则的顺序:

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www. [NC] 
RewriteCond %{HTTP_HOST} ^([^.]+).domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/website/%1/$1 [L,P]
RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

最新更新