通过多说服务器缓存加速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 文件(代码来自于 麦田一根葱 ,感谢原作者):
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 头像,已经是通过多说服务上的了:
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 蓝桥杯第九届C语言C组第一题:哪天返回
- java学习之路:17.掌握Boolean对象的创建以及Boolean类提供的各种方法
- java学习之路:16.掌握Integer,Long,Short对象的创建以及其类提供的各种方法
- java学习之路:15.对象的创建,属性,行为,引用,比较,销毁
- java学习之路:14.类的构造方法,静态变量,常量和方法,类的主方法
- java学习之路:13.类(成员变量,成员方法,权限修饰符,局部变量及有效范围,this关键字)
- 线性表--定长顺序串(十四)
- java学习之路:10.数组的基本操作(遍历,替换,排序,复制,查询)
- java学习之路:9.一,二维数组创建初始化
- 线性表--堆串(十五)
- 图解PostgreSQL-buffer管理(二)
- 同步复制注意点
- java学习之路:8.字符串生成器
- java学习之路:7.正则表达式
- PG11新特性解读:新增非空默认值字段不需要重写表