本文摘要
针对 Gravatar 在国内被 DNS 污染、导致 Typecho 头像无法显示或加载缓慢的问题,可通过将默认头像源替换为第三方镜像来解决。推荐修改博客根目录的配置文件来指定镜像地址,也可直接修改程序源码中的头像地址;文中列出多个可用镜像,并提到 cravatar 支持 QQ 头像。适用于受此问题困扰的 Typecho 站长。
前言
Gravatar(英语:Globally Recognized Avatar)是一项用于提供在全球范围内使用的头像服务。只要你在 Gravatar 的服务器上上传了你自己的头像,你便可以在其他任何支持 Gravatar 的博客、论坛等地方使用它。 从 2011 年 8 月起,gravatar.com 被部分地区屏蔽,部分用户访问博客时头像可能无法正确显示。2014 年,网站被解封,页面访问正常。约 2014 年 11 月左右,网站再次被屏蔽,部分用户访问博客时头像无法正确显示。现时已被封锁,方式为 DNS 污染。
由此导致 Typecho 无法显示 Gravatar 头像或加载非常缓慢。
📌
So,修改默认的 Gravatar 头像源为第三方镜像源,即可解决显示问题
解决方法
✅ 更新提示
2024年4月15日 13:10:53,我已将我自己博客的头像源(
config.inc.php中的__TYPECHO_GRAVATAR_PREFIX__)更换为cravatar,该源直接支持QQ头像,很棒!/** 更换头像源 *//**define('__TYPECHO_GRAVATAR_PREFIX__', 'https://dn-qiniu-avatar.qbox.me/avatar/');*/define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cravatar.cn/avatar/');
方法 1(推荐):修改文件config.inc.php
博客网站根目录下找到文件config.inc.php,直接在最后加入以下代码:
/** 更换头像源 */define('__TYPECHO_GRAVATAR_PREFIX__', 'http://dn-qiniu-avatar.qbox.me/avatar/');其中http://dn-qiniu-avatar.qbox.me/avatar/即为你要设置的镜像源地址
**推荐源:(点击地址可查看是否存活)**
方法 2:修改文件Common.php
1. 打开网站目录下的/var/Typecho/Common.php文件
2. 找到以下代码(直接搜索部分代码或前往 900~1100 行用你的大眼睛扫描):
/** * 获取gravatar头像地址 * * @param string $mail * @param int $size * @param string $rating * @param string $default * @param bool $isSecure * @return string */ public static function gravatarUrl($mail, $size, $rating, $default, $isSecure = false) { if (defined('__TYPECHO_GRAVATAR_PREFIX__')) { $url = __TYPECHO_GRAVATAR_PREFIX__; } else { $url = $isSecure ? 'https://secure.gravatar.com' : 'http://www.gravatar.com'; $url .= '/avatar/'; }
if (!empty($mail)) { $url .= md5(strtolower(trim($mail))); }
$url .= '?s=' . $size; $url .= '&r=' . $rating; $url .= '&d=' . $default;
return $url; }3. 修改代码中指向的地址https://secure.gravatar.com及 http://www.gravatar.com为第三方镜像源。(以上代码块中的第16行)
例:
...} else {$url = $isSecure ? 'https://cravatar.cn/' : 'https://gravatar.loli.net';$url .= '/avatar/'(镜像源文件夹);}...**推荐源:**
| 源名称 | 源地址 |
|---|---|
| 七牛(推荐) | https://dn-qiniu-avatar.qbox.me |
| 极客族(推荐) | https://sdn.geekzu.org |
| 九月的风 | https://cdn.sep.cc |
| V2EX | https://cdn.v2ex.com (注意该镜像源的文件夹为/gravatar/) |
| Cravatar | https://cravatar.cn |
| Ihuan | https://gravatar.ihuan.me |
| loli | https://gravatar.loli.net |
| WeAvatar | https://weavatar.com |