DISCUZ网站部署ssl开启https访问页面错位的解决方法

今天在给一个客户的网站做ssl证书部署后,通过https访问页面排版混乱,感觉像乱码了一样(如下图),http访问正常。懂网站的同行不难分析,应该是网站缺少了样式文件加载,那么如何解决呢?

新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
https://cloud.tencent.com/act/cps/redirect?redirect=1040&cps_key=2605080a61af83344327dcdf8c6701c3&from=console

导致这一问题的原因分析:我们可以在谷歌浏览器下使用F12调试看下网页加载情况,你会发现css样式文件被浏览器禁止加载了。再看css文件的链接地址,都是以http形式开头的。css样式默认加载了http模式下的缓存样式。这个时候我们应该怎么办呢:https模式下进入discuz后台,更新网站缓存。

这里会存在一些问题:如果你是同时开启http(80端口)、https(443端口),那么出现CSS文件被屏蔽是会经常出现的。要怎么一劳永逸的解决这个问题呢?就要用到301跳转了,在nginx配置文件中将http请求强制301跳转到https。这样一跳转,所有的CSS样式均会在https模式下了。也就不会再出现网页排版混乱的情况了。如果还解决不了,可以依次检查配置以下几处:

1.后台,全局,站点URL
2.后台,站长,ucenter设置
3.ucenter,应用,编辑
4.修改模版各处http://为https://

这里为模版文件较多的用户提供一个简单的批量的https://模版替换教程(开启伪静态的可用)
打开source/function/function_core.php,搜索 c o n t e n t = o u t p u t r e p l a c e ( content = output_replace( content=outputreplace(content),在下面加入:
c o n t e n t = s t r r e p l a c e ( ′ h t t p : / / w w w . d a y u y u n . c o m ′ , ′ h t t p s : / / w w w . d a y u y u n . c o m ′ , content = str_replace('http://www.dayuyun.com','https://www.dayuyun.com', content=strreplace(http://www.dayuyun.com,https://www.dayuyun.com,content);修改后,页面已经正常访问了如图:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值