【发布时间】:2017-05-21 10:50:27
【问题描述】:
我长期面临一个非常烦人的问题,也许有人可以解释一下这件事......
我在 Hostinger 共享环境中的所有 Wordpress 网站都有相同的错误:随机重定向到 HTTPS
有时它会尝试通过 HTTPS 加载所有资源 - 似乎是随机的。
但大多数时候,重定向发生在 wp-admin 上,同时保存帖子、导航等。
我已经将这个添加到 .htaccess 中,例如:
RewriteCond %{HTTPS} on
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
这些是没有更改设置的默认 wordpress 安装,这确实是一个错误,Hostinger 已经承认这一点。他们说他们会修复它,但已经超过 6 个月了。
证书颁发给*.main-hosting.eu,错误为NET::ERR_CERT_AUTHORITY_INVALID
如何将所有 HTTPS 请求重定向到 HTTP?我该如何解决这个错误?
-- 编辑--
我确认这是一个服务器端错误,使用以下代码创建了一个简单的 debug.php:http://pastebin.com/n8PekA6d - 结果是:http://pastebin.com/t70nkTyj
【问题讨论】:
-
您不能将 HTTPS 请求重定向到 HTTP,因为它们永远不会到达服务器(在发出任何请求之前发生 SSL 错误)。恐怕你看错了方向。
-
@DaanMeijer 在共享主机环境中我无能为力吗?我在 Hostinger 的手中?
-
好吧,我没这么说。我觉得服务器配置随机将您重定向到 SSL 很奇怪。我的直觉是重定向来自 PHP 内部的某个地方。但是,如果您确定它不是来自 PHP,并且取决于托管商,那么除了寻找另一个托管商之外,您几乎无能为力:(
-
它只发生在 Wordpress 网站上。我在那里托管了大约 40 个,以及我自己制作的一两个自定义 MVC。您知道如何在大量的 Wordpress 代码中找到它可能重定向到 HTTPS 的位置吗?
-
通常,任何重定向都由
wp_redirect(...)完成。它在wp-includes/pluggable.php中定义,在第 1143 行附近。在这里您可以尝试使用var_dump($location); debug_print_backtrace(); die();来检查让您到达那里的调用路径:)
标签: php wordpress .htaccess redirect