我想强制“www。”在我的网址上(例如http://domain.com变为http://www.domain.com)。但是,我不希望强制使用已有子域名的网址(例如http://images.domain.com不应成为http://www.images.domain.com)。我在网上找到的以下片段是后者:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
我需要做些什么才能让它适合我?感谢。
答案 0 :(得分:5)
简单 以下规则强制使用www,但子域除外。
RewriteCond %{HTTP_HOST} =name.domain [NC]
RewriteRule ^(.*)$ http://www.name.domain/$1 [R=301,L]
编辑并粘贴它,重新启动apache。
说明:
RewriteCond %{HTTP_HOST} =name.domain [NC]
仅在有人键入name.domain(您的域名)时匹配。
当类型subdomain.name.domain时,RewriteCond为false而不是重定向。你明白? 在您之前发布的规则中,您匹配!(不)^(开头)www和subdomain.name.domain满意RewriteCond并且是您不想要的。 :)