如何从htaccess中的重写规则中排除子域名

时间:2014-01-13 16:32:06

标签: php regex apache .htaccess mod-rewrite

在我的htaccess文件中,我有以下代码:

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

我想这样做,如果输入子域名,它不会将其重新写入www.sub.domain.com,而只是将其重新写入sub.domain.com。我已经多次玩这个了,似乎无法做到这一点。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下规则:

RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

现在它会将domain.com重定向到www.domain.com,但会跳过sub.domain.com