找回密码
 立即注册
查看: 61|回复: 0

[教程] discuz网站、论坛开启https后,出现页面模板错位,要...

[复制链接]

151

主题

223

回帖

885

积分

管理员

UID
2
阅读权限
200
在线时间
67 小时
注册时间
2012-6-24
最后登录
2024-5-18
发表于 2020-7-9 10:11:59 | 显示全部楼层 |阅读模式
我们在前面的教程中讲到如何开启discuz的https访问。

但是,有时会出现下图这样的情况,网站页面排版混乱,感觉像乱码了一样。


导致这一问题的原因分析:我们可以在谷歌浏览器下使用F12调试看下网页加载情况,你会发现css样式文件被浏览器禁止加载了。再看css文件的链接地址,都是以http形式开头的。

问题原因找到了:css样式默认加载了http模式下的缓存样式。

这个时候我们应该怎么办呢:https模式下进入discuz后台,更新网站缓存。

这里会存在一些问题:如果你是同时开启http(80端口)、https(443端口),那么出现CSS文件被屏蔽是会经常出现的。

要怎么一劳永逸的解决这个问题呢?参考如下说明,修改一下就可以了:
1、查找修改文件discuz_application.php :
  • $_G['isHTTPS'] = ($_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;

[color=rgb(51, 102, 153) !important]复制代码

修改为:
  • $_G['isHTTPS'] = true;

[color=rgb(51, 102, 153) !important]复制代码



或者——
将第187行修改为:
  • $_G['isHTTPS'] = ($_SERVER['SERVER_PORT'] == 443 || $_SERVER['HTTPS'] && strtolower($_SERVER['HTTPS']) != 'off') ? true : false;

[color=rgb(51, 102, 153) !important]复制代码

删除第188行,

将第189行修改为:
  • $_G['siteurl'] = dhtmlspecialchars('http'.($_G['isHTTPS'] ? 's' : '').'://'.$_SERVER['HTTP_HOST'].$sitepath.'/');

[color=rgb(51, 102, 153) !important]复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|蔡仲秋的个人空间 ( 冀ICP备2024049637号-1|冀公网安备13100002000150号 )

GMT+8, 2024-5-19 17:14

shengfang.ren caizhongqiu

2007-2024

快速回复 返回顶部 返回列表