Wordpress 网站页面显示不正常,样式文件由于 https 问题无法加载

更新日期: 2024-08-01 阅读次数: 785 字数: 289 分类: wordpress

看到一个 Wordpress 网站页面显示混乱,从浏览器调试工具看,是 CSS 样式文件及 JS 文件无法加载。 原因是,网站是 https 的链接,但是页面中引入的 css 和 js 都是 http 加载的,所以无法生效。

从主题的 styles.php 文件看:

wp-content/themes/some_theme/framework/styles.php

虽然通过 is_ssl() 函数判断了是否是 https 加载,但是实际上 enqueue_style 都是使用的 http。

说明 is_ssl() 函数的判断有问题。

现在回到 wordpress 的源码部分:

wp-includes/load.php

function is_ssl() {
	if ( isset( $_SERVER['HTTPS'] ) ) {
		if ( 'on' === strtolower( $_SERVER['HTTPS'] ) ) {
			return true;
		}

		if ( '1' === (string) $_SERVER['HTTPS'] ) {
			return true;
		}
	} elseif ( isset( $_SERVER['SERVER_PORT'] ) && ( '443' === (string) $_SERVER['SERVER_PORT'] ) ) {
		return true;
	}

	return false;
}

从代码看,估计是 Nginx 的配置问题,没有将变量传递过来。

但是,我不太感动这里的 nginx 配置,因为这个网站是别人的,用宝塔设置的,我不确定宝塔的机制, 所以还是不动 nginx 配置了。

我这里直接把 is_ssl 强制返回 true 得了。

微信关注我哦 👍

大象工具微信公众号

我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式