HTTPS站点使用zbpNana主题如何解决小绿锁问题?

 懿古今   2018-03-21 12:10:48 发布  技术文档

现在站点升级到 HTTPS是一个不可逆转的大趋势,所以建议大家有可能还是尽快把站点升级到 HTTPS 为好。今天的主题不是教大家如何升级 HTTPS,而是重点说一下使用zbpNana 主题的站点升级 HTTPS 遇到的两个比较“刺手”的问题如何解决。

HTTPS站点使用zbpNana主题如何解决小绿锁问题? - 第1张 - 懿古今(www.yigujin.cn)

问题一:评论头像引用还是 HTTP

这个问题是因为 zbpNana 主题把评论头像写死为 http://cn.gravatar.com/,所以解决的办法也很简单,只需要编辑 zb_users\theme\zbpNana\template\comment.php、commentpost.php 和 module-comments.php 文件,把 http://cn.gravatar.com/改为 https://cn.gravatar.com/即可。

题外话

由于 zbpNana 主题的评论头像是采用头像 404 的方法来判断评论邮箱是否存在gravatar 头像,如果没有就自动变成字母头像。这种做法就是会出现一些错误链接,正常用户是看不到错误提示的,只有通过浏览器查看元素或者检查中的 Console才能看到,如果介意的可以按以下方法去掉字母头像判断或者自行改进方法。

在上文所说到的三个文件中的寻找以下代码

  1. src="http://cn.gravatar.com/avatar/{$avatar}&r=X&s=56?d=404" onerror='javascript:this.src="{$zmavatar}";this.onerror=null;'

直接修改为

  1. src="https://cn.gravatar.com/avatar/{$avatar}&r=X&s=56"

PS:其中 s=56 保持默认即可,如果原来是 s=50 就 50,而不是都是 56 哦。

问题二:百度分享还是 HTTP

这个问题是因为百度分享尚未支持 HTTPS 站点导致,所以我们只能人工修改百度分享的引用代码,具体的做法可以参考《百度分享加载很慢和不支持 https 的解决办法》这篇文章,把 static 文件夹直接上传到网站根目录中,然后修改我们站点引用百度分享 JS 文件的路径,直接打开 zb_users\theme\zbpNana\template\footer.php 文件,找到以下代码:

  1. http://bdimg.share.baidu.com/static/api/js/share.js

修改为

  1. /static/api/js/share.js

即可。

总结

本文教程不单单适用于 zbpNana 主题,同样也适用于 zblogPHP 版本的 Blogs 主题,所以大家如果使用懿古今分享的 zbpNana 主题和 zblogPHP 版本的Blogs 主题,在升级站点到 HTTPS 遇到小绿锁不显示的情况下,可以看看是不是这两个问题导致,如果是的话可以参考本文解决,如果不是只能自行百度解决了。

话题拓展

如果使用懿古今分享的Nana 主题和 WordPress 版本的 Blogs 主题在升级 HTTP 的时候,遇到百度分享不现实或者小绿锁不显示问题,可以参考本文问题二的解决办法去解决。如果遇到评论头像引用 HTTP 导致小绿锁不显示,可以直接打开主题文件中的 functions.php 文件,找到 http://cn.gravatar.com/avatar/直接修改为 https://cn.gravatar.com/avatar/即可。

本文地址:https://www.yigujin.cn/1502.html

你可能感兴趣的文章

文章标签: ,   ,   ,  
版权声明:本文为原创文章,版权归 懿古今 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请发邮件至[email protected],确认后马上更正、删除,谢谢!

发表评论

  1. 橘子书
    橘子书 @回复

    其实最好的解决方案就是在写主题的时候,尽量用相对地址。这样一来,无论SSL与否,都能兼容!

    • 懿古今
      懿古今2018-03-22 15:59  回复

      @橘子书[呲牙] 一直都不喜欢使用相对地址,其实当初直接写死HTTPS地址就OK了

  2. 姜辰
    姜辰 @回复

    写死的这点,强烈谴责。

    表示完全可以//嘛~

    • 懿古今
      懿古今2018-03-22 15:53  回复

      @姜辰[呲牙] 一般改动不大的情况下我都喜欢写死

  3. 大事记
    大事记 @回复

    很简单的事情,把所有http换成//就可以了啊。

    • 懿古今
      懿古今2018-03-22 15:52  回复

      @大事记其实就一个头像地址,当初直接写成HTTPS地址就搞定了

  4. 灰狼
    灰狼 @回复

    居然将链接写死在页面,这一点值得给你点赞

    • 懿古今
      懿古今2018-03-22 15:51  回复

      @灰狼[偷笑] 因为一般不需要改动的东西我都喜欢写死,当初没有想到HTTPS问题,其实当初如果直接写成HTTPS的地址就什么问题都没有

  5. 西枫里博客
    西枫里博客 @回复

    分享一个主题真的是费神呐

    • 懿古今
      懿古今2018-03-22 15:50  回复

      @西枫里博客分享了主题,遇到问题就要解决,所以很多人喜欢自己折腾自己用不分享

  6. 倚竹聽雨
    倚竹聽雨 @回复

    其实我的解决方法是,直接用gravatar头像插件,然后在模板文件里面把写死的htt p://cn.gra vatar.com/ 给替换成插件的调用标签了,优点是可以随着插件随时改变头像源。。。

    • 懿古今
      懿古今2018-03-22 15:49  回复

      @倚竹聽雨gravatar头像一般填写一个能用的地址就行,为此而用一个插件,个人认为不划算。

      • 倚竹聽雨
        倚竹聽雨2018-03-22 15:56  回复

        @懿古今[衰] 懒人的做法,主要是怕某个源挂了,还要手动改,所以就这么搞了,虽然挂的几率不大。

  7. 大致
    大致 @回复

    不应改写成死的。WP有个函数is_ssl(),然后加个判断,就不用手动改了。

    • 懿古今
      懿古今2018-03-22 15:49  回复

      @大致其实当初我直接把获取头像的地址写成HTTPS就行,像这种固定链接的感觉不用is_ssl()判断,可能效率更好

  8. 小C博客
    小C博客 @回复

    机智的我早早的上了https

    • 懿古今
      懿古今2018-03-23 08:59  回复

      @小C博客[赞] HTTPS应该是大趋势,以后所有站点应该都是HTTPS