【问题标题】:How to force WordPress to use HTTP, --not-- HTTPS after being configured to run as HTTPS on other server配置为在其他服务器上作为 HTTPS 运行后如何强制 WordPress 使用 HTTP,--not-- HTTPS
【发布时间】:2020-01-09 02:25:28
【问题描述】:

我如何明确彻底地阻止 WordPress 将所有 URL 从 HTTP 重写为 HTTPS?

我需要在测试服务器上设置它并在没有 SSL 证书的情况下在仅限内部的服务器上运行,这样我就可以测试 PHP 7.2,它使用我的插件组合破坏了我的实时 WP 站点。

我在不同的服务器上获得了该站点的副本,但我无法让它停止在每个链接上使用 HTTPS——它当前无法加载,因为它一直在请求 HTTPS,但没有加载证书或设置使用 HTTPS 和 apache 的测试服务器甚至没有监听该测试服务器上的 443 端口。

已经将 wp-config.php 中的 WP_HOME 和 WP_SITEURL 更改为引用 HTTP,并使用测试服务器的 IP 而不是站点域名。也放进去

define(‘FORCE_SSL_ADMIN’, false);
define(‘FORCE_SSL’,false);

将 DB 转储到磁盘,截断活动表,然后将所有出现的 https://domainname.com 文本替换为转储文件中的 http://192.168.0.1(例如),并将每个表的数据重新加载回其中以消除对数据库中任何 URL 中的“https”。

把它放在我的 .htaccess 中(它会被解析,因为我可以通过将 crud 放入其中来使测试服务器的 httpd 崩溃):

.
.
RewriteCond %{SERVER_PORT} ^443$
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]

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

所以:

.htaccess 故意将任何对端口 443 或 HTTPS 的请求重写为 HTTP。

/var/www/html 文件夹中有一个 index.htm 和 index.html 通过元刷新标签指定 192.168.0.1/index.php。

wp-config 为 WP_HOME 和 WP_SITEURL 指定“http://192.168.0.1”和 FORCE_SSL_* 设置为“false”。

但是,在浏览器中引用

http://192.168.0.1 or http://192.168.0.1/index.php

总是有结果

https://192.168.0.1

在浏览器地址栏中被重写,然后浏览器停止并报告该页面无法访问。已清除缓存并且可以插入任意“die(...”命令,如果我 CTRL F5 可以看到它们呈现,因此浏览器缓存不是一个因素。

我只想测试 PHP 7.2 是否会破坏我的网站——在没有 HTTPS 的测试服务器上。

除了 .htaccess、wp-config.php 和关联的 MySQL 数据库之外,当在 Web 浏览器中直接引用测试服务器的 192.168.0.1 IP 时,仍然强制 WP 使用 HTTPS 而不是 HTTP?

我只需要 WP 来实际使用

http://192.168.0.1

并坚持这样做,而不是每次都这样做https://192.168.0.1

预期的结果是在测试服务器的浏览器地址栏中看不到 WordPress 中的 URL 从 http:// 重写为 https://。

斯蒂芬

【问题讨论】:

  • 如果 url 是好的,你是否检查过 "site_url" 和 "home" 的表 wp_options 内?
  • “.htaccess 故意将任何对端口 443 或 HTTPS 的请求重写为 HTTP。” - 如果您的服务器不响应,这当然是完全没有意义的尝试首先是 HTTPS 请求。
  • 显然 - 但我正处于尝试完全没有意义的事情的地步,因为已经尝试了几天的其他事情并且没有结果。
  • 好吧,我可以访问 192.168.0.1/readme.html 并获得标准的 wordpress 自述文件 - 所以服务器在那里并监听 HTTP 并响应 - wp-config 中的“site_url”和“home” .php 设置为 http://"192.168.0.1/index.php" 减去双引号。

标签: php wordpress http https url-rewriting


【解决方案1】:

好的,找到了解决方案(至少部分)。

加载了一个名为“Really Simple SSL”的插件。手动禁用此功能,现在该站点至少部分加载。仍然有严重的错误和损坏的 URL 不起作用,但至少不是每次都跳入 HTTPS。

感谢您的回复!

斯蒂芬

【讨论】:

    猜你喜欢
    • 2012-05-08
    • 2016-04-27
    • 2016-07-28
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 2016-02-19
    • 2019-05-06
    • 2021-05-10
    相关资源
    最近更新 更多