php – 从.htaccess mod_rewrite规则中排除子域?

前端之家收集整理的这篇文章主要介绍了php – 从.htaccess mod_rewrite规则中排除子域?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不太熟悉.htaccess文件,我正在尝试从以下已经存在的重写规则排除一个子域(类似于dev.example.com):
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$[NC]
RewriteRule ^(.*)$http://www.example.com/$1 [L,R=301]

此规则禁止任何人输入example.com或http://example.com,并强制网址http://www.example.com所需的演示文稿.

我尝试了一些从此重写规则中排除子域的选项,但无效.网站上的每个目录都有自己的.htaccess文件,但似乎这个目录仍然优先.有任何想法吗?谢谢!

现有规则已经排除了子域.你只需要附加一个新的条件:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com$[NC]
RewriteCond %{HTTP_HOST} !^dev\.example\.com$[NC]
RewriteRule ^(.*)$http://www.example.com/$1 [L,R=301]

你也可以摆脱正则表达式:

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

语法可以在http://httpd.apache.org/docs/2.2/en/mod/mod_rewrite.html#rewritecond找到

猜你在找的PHP相关文章