htaccess用于将非www重定向到www,同时保留http和& HTTPS

时间:2011-06-29 18:18:15

标签: .htaccess

我的网站刚刚获得了EV SSL证书。在过去,我使用htaccess将非www请求重定向到www - 并且运行良好。

但是现在,如果我请求https页面,我最终会(通过htaccess重定向)在http版本上。

我需要像这样重定向htaccess:非www重定向到www,同时保留http或https

这是我现在使用的htaccess文件:

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

它无法正常工作。 https请求被重定向到http。

1 个答案:

答案 0 :(得分:1)

试试这个:

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