.htaccess仅适用于www。子域

时间:2012-06-20 17:59:01

标签: php apache .htaccess

如何构建我的.htaccess文件,以便将www添加到地址mysite.com的开头,但不添加www。到test.mysite.com等其他子域名的开头?我的.htaccess文件目前看起来像这样:

Options -Multiviews
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php

2 个答案:

答案 0 :(得分:2)

类似的东西:

RewriteCond %{HTTP_HOST} ^mysite.com

而不是

RewriteCond %{HTTP_HOST} !^www\.

答案 1 :(得分:0)

我只是不知道只获得域命名的字符的darn规则所以我会尝试这个,但它可能会失败一些主题:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^[a-zA-Z0-9\-]+(\.[a-z]{2,4})+$
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ $1.php

这将强制所有以一个单词和TLD开头的域名转发到www.samedomain.tld但子域名不会被点击...