2017-05-05 67 views
1

我在嘗試將http://www.example.co.ukhttp://example.co.uk重定向到 https://example.co.uk.htaccess重定向錯誤

.htaccess文件我有:

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

這重定向一個以www開始。但我怎麼重定向其他以及沒有「太多重定向」錯誤發生?

回答

1

最好是使用兩個單獨的規則:

RewriteEngine on 

RewriteCond %{HTTPS} off 
RewriteRule^https://mysite.co.uk%{REQUEST_URI} [L,R=301] 

RewriteCond %{HTTP_HOST} ^www\. [NC] 
RewriteRule^https://mysite.co.uk%{REQUEST_URI} [L,R=301] 

而且一般提示:你應該總是喜歡在http服務器內這些規則(虛擬)主機配置,而不是使用動態配置文件(.htaccess風格文件)。這些文件出了名的錯誤,很難調試,他們真的放慢了服務器。它們僅作爲最後一種選擇,用於您無法控制主機配置的情況(閱讀:真正便宜的託管服務提供商),或者您擁有依賴編寫自己的重寫規則的應用程序(這是一個明顯的安全噩夢)。

+0

謝謝我給了一個嘗試,仍然發生重定向錯誤。這真的很混亂! – Fifi

+0

請確保你沒有看到緩存的結果。 – arkascha

+0

我已經確定,仍然得到相同的結果。 – Fifi