要执行的.htaccess文件是重定向主域而不是(100+)子域

时间:2017-02-17 08:12:07

标签: .htaccess redirect

谁能给我一些与.htaccess重写规则有关的建议?

我现在已经在我的域上激活了https(SSL证书),但我没有购买多域证书。 所以,我需要.htaccess文件来重定向主域而不是(100+)子域,意思是:

http://www.example.com -> https://www.example.com
http://example.com -> https://www.example.com
http://subdomain.example.com -> http://www.example.com

由于我有100多个子域,因此它必须是通用的。

现在,我有这个.htaccess代码

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]

但是这会将所有内容重定向到HTTPS,并且它不会排除现在提供安全警告的子域。 所以,我可能需要添加一个额外的条件,只包含root和www。

谁可以给我一些建议?

1 个答案:

答案 0 :(得分:0)

尝试以下条件,

RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{HTTP_HOST} ^www
RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]