2017-07-07 74 views
0

我改變.htaccess文件,並添加此:ERR_TOO_MANY_REDIRECTS

RewriteCond %{HTTPS} !on 
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

但是當我嘗試訪問該頁面時,它給了我這個錯誤:

ERR_TOO_MANY_REDIRECTS 

我清除了所有我的緩存和cookie,我用另一個瀏覽器嘗試過,並沒有奏效。

請幫我

回答

0

添加RewriteEngine On到您的第一線,VAI parecer assim:

RewriteEngine On 
RewriteCond %{HTTPS} !=on 
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [R,L] 

最後一行,你可以更改爲類似:

RewriteRule ^(.*)$ https://www.example.com/$1 

哪裏https://www.website.com添加自己的域。

這應該給你以正確的方式

+1

如果這是問題,那麼如果發生錯誤,錯誤消息肯定會有所不同。 – arkascha

+0

他可以將最後一行更改爲:'''RewriteRule ^(。*)$ https:// www.website.com/$ 1'''其中「www.website.com」他會寫他自己的域名。 – Samuel

+0

當然,我同意OP可以做到這一點。但是我不明白爲什麼這會改變任何事情。 – arkascha

1

看來,與Apache HTTP服務器的SSL模塊的某些版本做設置%{HTTPS}變量,比較對比一下文檔索賠。

RewriteEngine on 
RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule^https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,QSA] 

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

相關問題