2015-10-26 182 views
2

我試圖讓我的所有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不在,也就是關閉)然後重定向「。 –

回答

4

這個單一規則可以採取兩方面的要求護理:

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。我在其他瀏覽器中也遇到類似的情況。 –

相關問題