使用相同的htaccess文件重写域上的www和子域上的非www

时间:2012-02-22 17:35:30

标签: php .htaccess

我的网站工作正常,并在htaccess文件中有以下内容

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

上面给了我所有带www前缀的网址。现在,我为手机浏览器创建了该网站的版本,并希望将http://m.mydomain.com/用于该版本。域和子域都指向同一个文件夹,即public_html文件夹。由于htaccess文件中的代码现在我有http://www.m.mydomain.com/而不是http://m.mydomain.com/ 如何为域保留www重写规则并在同一个htaccess文件中获取子域的非www URL?

1 个答案:

答案 0 :(得分:5)

对于http://m.mydomain.com的具体情况,您只需添加其他条件

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

现在,只有www.www.的网址尚未追加m.。每个RewriteCond允许多行RewriteRule行,并且所有行都必须通过才能应用RewriteRule