通过多说服务器缓存加速Gravatar 头像,解决被墙问题

20,723
通过多说服务器缓存加速Gravatar 头像,解决被墙问题
  • 5.00 / 5 5
5.00分(9票)
通过多说服务器缓存加速Gravatar 头像,解决被墙问题

由于大中华局域网的关系,Gravatar 头像所在的域名gravatar.com 及其二级域常常被墙,就算没有被墙,访问速度也非常慢。之前曾经分享过通过《WordPress 免插件仅代码实现 Gravatar 头像缓存》实现本地服务器缓存头像的方法。如果主机本身也是在国外的话,起到的作用其实是有限的。

使用过多说的可能知道,多说对于Gravatar 头像的引用其实是缓存在多说的服务上的。那么,可以通过通过多说服务器缓存加速Gravatar 头像来解决被墙问题。

官方&多说服务器上的Gravatar 头像

官方的Gravatar 头像 所在的路径一般都是www.gravatar.com、0.gravatar.com、1.gravatar.com、2.gravatar.com 这四个,WordPress 的话常常是数字二级域的那三个。因为开头说到的原因,对于国内用户来说,使用官方服务器的头像不是一个明智的选择。

缓存在多说上的Gravatar 头像路径都是在gravatar.duoshuo.com,如下面这个头像图片,你可以查看一下路径:

 通过多说服务器缓存加速Gravatar 头像

将下面的代码丢入WordPress 主题下的functions.php 文件(代码来自于 麦田一根葱 ,感谢原作者):

1
2
3
4
5
function mytheme_get_avatar($avatar) {
$avatar = str_replace(array("www.gravatar.com","0.gravatar.com","1.gravatar.com","2.gravatar.com"),"gravatar.duoshuo.com",$avatar);
return $avatar;
}
add_filter( 'get_avatar', 'mytheme_get_avatar', 10, 3 );

上面的代码是通过添加过滤器(filter)替换原函数get_avatar达到将路径指向多说服务器上。

查看评论里的Gravatar 头像,已经是通过多说服务上的了:

另外:如果有使用七牛云存储的话,可以参考本文:通过 七牛云存储 缓存加速Gravatar 头像,解决被墙问题

喵~本文目前有21条留言,欢迎发表评论!

  1. 我试了 怎么还是不显示呢? 🙂

    [回复]
  2. 谢了 我试试看 😮

    [回复]
  3. 多说头像好像挂了?

    [回复]
  4. 😛 😛 貌似有了!~~~~~

    [回复]
  5. 14#
    :

    试试

    [回复]
  6. 13#
    :

    多說一下支持https一下不支持然後木有然後叻 不用它叻 🙁

    [回复]
  7. 12#
    :

    难道Gravatar被多说收购了,怎么多说能调到Gravatar的头像呢?

    [回复]
    • 。。。。。这年头有 镜像 技术

      [回复]
  8. 11#
    :

    博主的千牛怎么设置的阿

    [回复]
  9. 10#
    :

    测试头像。。。刚才弄错了

    [回复]
  10. 9#
    :

    没有注册,测试下是否有头像

    [回复]
  11. 8#
    :

    Hello 我是测试来的

    [回复]
  12. 7#
    :

    多说评论框的还是不能显示啊。。。

    [回复]
    • 我的也不显示,怎么处理呀,拖慢速度。

      [回复]
      • 哎,我是只能把自己的头像手动上传到多说的,没使用Gravatar的头像。。。

        [回复]
  13. 6#
    :

    你这个比那个《用Nginx反向代理并缓存Gravatar来解决头像被墙》简单的多了!感谢反向哦 😀

    [回复]
  14. 已经使用,感谢分享

    [回复]
  15. 4#
    :

    多说现在还有用么

    [回复]
  16. 赶上地板鸟
    :

    真的能行吗

    [回复]
  17. 板凳也不错
    :

    已应用,感谢~

    [回复]
  18. 传说中的沙发
    :

    感谢,已拿走,虽然我用多说评论,但是保不准以后会用原生的 :mrgreen:

    [回复]

打破沉默,我来发表评论鸟~