HTTPS非WWW重定向

问题描述:

我试图让我的所有URL重定向到https://没有www.HTTPS非WWW重定向

如果有人提出在www.http://http://他们将被重定向到https://问题就来了,如果他们把https://www.那么它不't重定向到https://website

我在我的htaccess中使用以下内容,有什么建议吗?

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

RewriteCond %{HTTPS} !on 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] 
+0

没有多大意义。 '如果(https关闭,主机有www)然后重定向',然后是'if(https不在,也就是关闭)然后重定向“。 –

这个单一规则可以采取两方面的要求护理:

RewriteCond %{HTTP_HOST} ^www\. [NC,OR] 
RewriteCond %{HTTPS} off 
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC] 
RewriteRule^https://%1%{REQUEST_URI} [R=301,L,NE] 

确保除去你们俩所示规则和测试新的浏览器,以避免旧的缓存。

+0

谢谢,它似乎可以在除了铬之外的任何地方工作,它仍然保持www。 – NewToCode

+0

这是由于Chrome中的旧缓存。清除所有缓存数据并重新测试。 – anubhava

+0

@安迪我相信这不仅仅是Chrome。我在其他浏览器中也遇到类似的情况。 –