无法将https重定向为http

时间:2015-11-04 19:39:30

标签: .htaccess html5boilerplate

某些版本的Chrome会自动将https添加到我的网站地址。所以我需要将https重定向到http,因为我没有SSL证书。我正在尝试这个,没有结果:

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

1 个答案:

答案 0 :(得分:0)

可能重复此问题:Nginx redirect to non-https address failes in Firefox。虽然他们从来没有找到确切的原因,为什么会发生这种情况,所以希望我能有更多的运气。

首先,无法将https重定向到http,直到https连接成功为止 - 这需要证书。允许这将是一个巨大的安全风险,并不是https的工作方式。它首先进行https连接,然后通过https提供内容。重定向计为内容。

其次,您需要了解Chrome重定向到https的原因。因为,根据发生的原因,即使您可以重定向到http,如果您有证书,那么您可能会进入递归循环。我建议打开Chrome,按F12打开开发人员工具,转到网络标签,点击保留日志,清除网络标签,然后点击&#34;保留日志&#34;然后通过http加载页面并观察重定向。如果它是301或302重定向,那么您的服务器就是这样做的。如果它是307重定向,那么它归因于HSTS。它是其他任何东西,然后它是一个前端应用程序问题(即页面上的Javascript)。