2015-11-04 67 views
0

某些版本的Chrome會自動將https添加到我的網站地址中。所以我需要將https重定向到http,因爲我沒有SSL證書。我想這一點,沒有結果:無法將http重定向到http

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 
    RewriteCond %{HTTP:X-Forwarded-Proto} =https 
    RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 
</IfModule> 
+0

您是否在負載均衡器後面?我也不認爲Chrome正在這樣做。這將是數百萬網站的混亂是這種情況。 –

+1

另外這可能有助於http://superuser.com/questions/565409/chrome-how-to-stop-redirect-from-http-to-https –

回答

0

這個問題的可能的重複:Nginx redirect to non-https address failes in Firefox。雖然他們從來沒有仔細研究過這個人究竟發生了什麼,所以希望我會有更多的運氣。

所以首先你不能重定向https到http,直到https連接成功 - 這需要一個證書。要做到這一點將是一個巨大的安全風險,並不是https的工作方式。它首先使https連接,然後通過https發送內容。重定向被視爲內容。

其次,您需要了解Chrome重定向到https的原因。因爲,取決於爲什麼會發生這種情況,即使您有證書可以重定向回http,也可以輸入遞歸循環。我建議打開Chrome,按F12打開開發人員工具,進入網絡選項卡,點擊保存日誌,清除網絡選項卡並點擊「保留日誌」,然後通過http加載頁面並觀察重定向。如果它是301或302重定向,那麼它是你的服務器執行它。如果它是307重定向,那麼它是由於HSTS。它是其他任何東西,然後是前端應用程序問題(即頁面上的Javascript)。