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

Gor*_*ran -1 php .htaccess

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

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

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

dee*_*our 5

对于您的具体情况,您http://m.mydomain.com可以简单地添加另一个条件

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

现在,唯一的时间www.将是附加的,如果URL尚未以www.或开头m..RewriteCond每个都允许多行RewriteRule,并且所有行都必须通过RewriteRule才能应用.