【问题标题】:Forcing http using .htaccess使用 .htaccess 强制 http
【发布时间】:2013-10-14 09:14:04
【问题描述】:

这是我现在拥有的脚本,我如何让我的脚本强制所有流量到 http,目前它正在做完全相反的事情,它强制所有流量到 https。

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

我也试过了,还是不行

RewriteEngine On
RewriteCond %{HTTP} !=on
RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

我收到了这个错误:

尝试打开 www.blankpage.com 时发生了太多重定向。

【问题讨论】:

    标签: php .htaccess


    【解决方案1】:

    在 processwire htaccess 中查找这些行

    # ---------------------------------------------- -------------------------------------------------- -----------------------------------------------------------

    如果您只想允许 HTTPS,请取消注释下面的 RewriteCond 和 RewriteRule 行

    # ---------------------------------------------- -------------------------------------------------- -----------------------------------------------------------

       RewriteCond %{HTTPS} off
       RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L]
    

    # ---------------------------------------------- -------------------------------------------------- -----------------------------------------------------------

    如果您只想允许 HTTP,请使用以下代码

    # ---------------------------------------------- -------------------------------------------------- -----------------------------------------------------------

    RewriteCond %{HTTPS} on
    RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L]
    

    【讨论】:

      【解决方案2】:

      您想检查 HTTPS 是否开启

      RewriteEngine On
      RewriteCond %{HTTPS} on
      RewriteRule ^ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
      

      如果它开启 (%{HTTPS} on),则重定向到 http://。没有名为 %{HTTP} 的 mod_rewrite 变量,只有 %{HTTPS} 可以“开”或“关”。

      您收到太多重定向错误的原因是:

      RewriteCond %{HTTP} !=on
      

      无论请求是http还是https都始终为真,因为变量不存在,它永远不会等于“on”。因此,即使请求是 http,您也会不断被重定向到相同的 URL (http)。

      【讨论】:

      • 感谢您的解释!!这是有道理的!
      • 不知道为什么它对我不起作用。我做了一个简单的测试,如下所示,将它放在我的 .htaccess 的第一行,但是当我输入 https://example.com RewriteEngine On RewriteCond %{HTTPS} on RewriteRule .* https://google.com [L] 时仍然会收到来自浏览器的警报
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 2018-06-24
      • 2015-01-28
      • 1970-01-01
      • 2016-06-27
      相关资源
      最近更新 更多