2014-09-12 76 views
0

我想强制WWW。仅在主域上,但将其关闭所有子域。 这是我到目前为止的代码,它工作,但不适用于子文件夹。htaccess国防部重写 - 强制WWW域只,但不是子域

我使用的结构域是.co.uk

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

domain.co.uk重定向到www.domain.co.uk和sub.domain.co.uk犯规(这是正确的) 但domain.co.uk/folder/犯规重定向到www.domain.co.uk/folder/

回答

1

尝试使用%{REQUEST_URI}代替$1作为$1根据的.htaccess目录可能会有所不同:

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^[^.]+\.co\.uk$ [NC] 
RewriteRule^http://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R=301] 

还要确保这是你的.htaccess中的第一条规则。

+0

这不工作比我最初发布的任何更好的,子文件夹仍然不强制WWW。 – FoxyFish 2014-09-13 21:21:22

+0

你需要确保这是你的root htaccess中的第一条规则。 – anubhava 2014-09-14 04:22:07

+0

是的,这是第一条规则,它在根上。它不适用于子文件夹,它只适用于没有任何子文件夹的根域。 – FoxyFish 2014-09-14 16:58:34