从htaccess重定向中排除子域。但是将非www重定向到www,然后重定向到主域的https

时间:2016-04-27 10:23:12

标签: apache .htaccess redirect mod-rewrite

我是htaccess领域的初学者。

我现在有以下规则

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

这有助于我实现以下目标

example.com => https://www.example.com

但是,我需要排除子域名:

subdomain.example.com/myfile.html => http://subdomain.example.com/myfile.html

我怎样才能实现它?

提前感谢您的答案。 注意:我尝试了一些解决方案。但是他们都没有为我工作。

1 个答案:

答案 0 :(得分:0)

您可以对http =>使用以下规则https://www

RewriteEngine on

RewriteCond %{HTTP_HOST} !^sub\.domain\.com$
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [NE,L,R]