这篇文章上次修改于 405 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

Gravatar头像是知名的全球公认头像,由于特殊的原因,Gravatar在国内是无法访问的,typecho原生支持Gravatar头像。
因此,解决方法很简单,将Gravatar改为国内的镜像服务器即可。
在typecho安装目录下的config.inc.php中加入以下代码:

define('__TYPECHO_GRAVATAR_PREFIX__', 'https://gravatar.loli.net/avatar/');

这里使用的是loli的国内镜像源,可自行替换其他镜像源。

以下给出推荐的几个镜像源:


gravatar官方www源 https://www.gravatar.com/avatar/
gravatar官方cn源 https://cn.gravatar.com/avatar/
gravatar官方en源 https://en.gravatar.com/avatar/
gravatar官方secure源 https://secure.gravatar.com/avatar/
V2EX源 https://cdn.v2ex.com/gravatar/
Loli源 https://gravatar.loli.net/avatar/
极客族 https://sdn.geekzu.org/avatar/


另外还有一种方法,修改/var/Typecho/common.php的第937行,将

  public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
  {
      $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com';

修改为

public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false)
  {
      $url = $isSecure ? 'https://gravatar.loli.net/avatar/' : 'https://sdn.geekzu.org/avatar/';

但是并不推荐这种修改程序代码的方法,这样会在程序升级、博客搬家等场景时覆盖程序或出现意料之外的问题,因此,相对而言,使用第一种方法,在config.inc.php中定义镜像源的方式更合适。