临时会话从安全(HTTPS)随机切换到不安全

时间:2020-02-17 作者:James Randolph

当我在我的临时站点上进行编辑时,会话偶尔会从“安全”变为“不安全”(显示在Chrome地址栏中)。

因此,我处于安全会话中,在编辑视图中进行更改,单击“更新”,然后单击“查看页面”,生成的页面被标记为“不安全”,并不反映我刚才所做的更改。

通常,一旦我关闭所有Chrome窗口并重新打开它们,它就会工作,但这显然不是一个很好的工作流。

基于谷歌搜索和与WP支持人员的交谈,这似乎不是一个常见的问题,但我想知道以前是否有人遇到过这种情况,我能做些什么来阻止它?

1 个回复
SO网友:yolabingo

这是一个常见的问题。不幸的是,这只是将Wordpress站点错误地移动到新url的众多可能症状之一。解决方案是确保Wordpress(核心、插件和主题)和web服务器都使用相同的URL。

如果您有登台站点的SSL证书(听起来像是这样),那么您可能希望在站点URL中使用https,例如https://staging.example.com

首先,通过将这些行添加到最顶端,强制Apache使用https。htaccess文件

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Nginx忽略Apache。htaccess文件。如果您使用Nginx,请在谷歌上搜索“Nginx force https”,或参阅托管提供商的文档,以获取将Nginx配置文件更新为强制https的说明。

登录Wordpress Dashboard->Settings->General并同时设置

WordPress Address (URL)Site Address (URL)

https://staging.example.com

记下当前的url设置是什么-以后可能需要它。我会用http://www.example.com 在我的例子中。如果站点过去有多个url,请为每个旧url运行搜索替换。

在许多情况下,这将解决问题。如果没有,它可以走得更深。

检查中是否未覆盖数据库设置wp-config.phpfunctions.php 如Wordpress文档所述https://wordpress.org/support/article/changing-the-site-url/#changing-the-site-url

如果仍然存在问题,您可能需要更新对数据库中旧url的所有引用,以修复主题和/或插件。通过互连,您可以使用优秀、免费的数据库搜索和替换工具https://interconnectit.com/products/search-and-replace-for-wordpress-databases/ 它同时提供web和命令行界面。

另一种命令行工具是优秀的免费WP CLIhttps://developer.wordpress.org/cli/commands/search-replace/

如果你最终做了大量的Wordpress工作,WP CLI将是你最好的朋友

使用您选择的搜索替换工具将旧url更新为临时url。在本例中,

http://www.example.com -> https://staging.example.com

你为什么需要这样做?一些主题和插件开发人员将插件最初安装在站点上时的“站点URL”值保存在wp\\u options数据库表中的序列化PHP数组中。当您在仪表板设置中更新url时,它只适用于wp\\U选项中的Wordpress核心设置,而不适用于插件/主题设置。这可以说是插件/主题开发人员的错误行为,但并不少见。

不能使用简单的MySQLREPLACE() 更新wp\\u选项中的字符串,因为它将破坏序列化的PHP数组。需要使用知道如何处理序列化PHP数据的工具进行更改,因此需要使用Interconnect或WP CLI工具。

在某些情况下,即使所有这些都是不够的。一些主题和插件开发人员在存储url之前会对url进行json或url编码,因此您也需要对这些编码的url进行额外的搜索替换。例如,替换

http:\\\\/\\\\/www.example.com -> https:\\\\/\\\\/staging.example.com

http%3A%2F%2Fwww.example.com -> https%3A%2F%2Fstaging.example.com

Wordpress在很多事情上都做得很好,但将Wordpress网站移动到新的url可能是Wordpress无法发挥作用的地方。

相关推荐

大文件上载出现HTTP错误

只是,当我去Add New (/wp admin/media new.php)中Media 菜单中,当我选择一个大约30 mb的大文件时,上传进度条一直处于打开状态100% 并在控制台中给我一个错误:加载脚本。php?c=0(&;load[]=jquery核心、jquery迁移、utils、plupload、plupload处理程序;版本=4.7.14:40未捕获的TypeError:无法读取null的属性“replace”我刚刚安装了wordperss,没有安装插件,5.2.3版本当我通过按键上传