.htaccess htaccess用于将非www重定向到www,同时保留http&;https

.htaccess htaccess用于将非www重定向到www,同时保留http&;https,.htaccess,.htaccess,我的网站刚刚获得EV SSL证书。在过去,我使用htaccess将非www请求重定向到www,效果很好 但是现在,如果我请求一个https页面,我最终会(通过htaccess重定向)使用http版本 我需要htaccess这样重定向:非www重定向到www,同时保留http或https 下面是我现在使用的htaccess文件: Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^[^.]+\.[^.]+$ Rew

我的网站刚刚获得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。

请尝试以下操作:

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]
试试这个:

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]