为什么WordPress搬到HTTPS后仍将HTTP用于某些URL



我发现了WordPress的奇怪行为。我刚从A http 搬到了 https 网站,我根据文档更新了变量 siteurl siteurl home ,但我的Apache服务器提供了混合的内容。

所以我启动了wp shell(WordPress命令行接口),然后发现了一些看起来不一致的东西:

$ wp shell 
wp> echo bloginfo('siteurl');
https://www.romanliturgy.org
wp> echo bloginfo('home');
https://www.romanliturgy.org
wp> echo bloginfo('stylesheet_directory');
http://www.romanliturgy.org/wordpress/wp-content/themes/romanliturgy

在我看来,当您的网站位于https://www.romanliturgy.org时,您的样式表和图片将在http://www.romanliturgy.org.

上获取

还是我错过了什么?

您可能需要使用WP CLI工具进行搜索和更换旧域,例如:

wp search-replace http://www.romanliturgy.org https://www.romanliturgy.org

您还可以将--dry-run添加到其中的末尾,以检查是否有域HTTP版本的任何实例。

我认为问题已经解决。

我的网站留在反向代理服务器后面。我的问题可能是由于该代理服务器中缺少设置。管理员在设置中添加了此行:

RequestHeader set X-Forwarded-Proto 'https'

据我所知,所有浏览器最多的一切都按预期工作。只有Chromium浏览器仍然重定向 https 请求 http 站点,我不知道为什么。

最新更新