当前位置:主页 > 织梦教程 >

织梦启用https后调用缩率图出现域名重复的最终解决办法

栏目分类:织梦教程   发布日期:2018-05-04   来源:资源盒子   浏览次数:
最近在做站时,由于启用了HTTPS,结果缩率图出现错误,不显示,查看代码得知,域名重复复制了!

问题出现的前提条件是在织梦的缩略图图片地址启用了图床,通过外链显示图片的前提!


如图所示,站长在对某一站启用全站https后发现,在我使用图床(七牛云)时,最初七牛的域名使用的是http://二级域名,全站的缩略图都通过http://二级域名/.jpg的方式呈现!

于是浏览器虽然能通过https正常范围站点,可是那个不是全绿色的https  看着就是那么难受!


那我们就全站启用https,于是七牛云绑定的二级域名也启用了https,这下问题来了!


二级域名为启用https前,网站一切正常! 启用后发现所有的缩率图src地址都变成了图片所示


查看了织梦程序文件,发现了BUG所在!由于织梦设计时未考虑过https,所以程序中只对http头进行了判断!忽略了https


针对站长在做的这个站,有三个地方出现缩略图错误显示

1、首页通过:dede:arclist标签调用的列表

2、列表页通过:dede:list标签调用的列表

3、内容页通过:dede:likearticle标签调用的相关内容


发现问题,我们就去找到三个表格所对应的类文件夹!

dede:list对应的 arc.listview.class.php(路径include/)

打开此文件,找到如下代码

if(!preg_match("/^http:\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y')
   {
     $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic'];
    }


将代码修改为:

if(!preg_match("/^(http:|https:)\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y')
   {
     $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic'];
    }


其实就是在正则表达式中增加了一个https头的判断!

接着修改 include/taglib/arclist.lib.php 与 include/taglib/likearticle.lib.php两个文件

代码同上,全部修改完后,重新生成网站!试试看! 是否成功!



如果你还有别的地方也出现了统一的问题,那就修改相对应的类文件,参考上述代码进行修改!如果站在今后有遇到新的问题,将继续更新此文!

打赏本站

标签: 织梦https

相关下载
Copyright © 2014 资源盒子 版权所有   黔ICP备14004500号-3   TAG
织梦标签工具下载 ↑↓
织梦标签工具下载