最新消息:

Gravatar被墙的解决方法两则

经验之谈 Lei. 13469浏览 6评论

从昨天晚上开始,发现自己博客中留言者的头像无法显示,经查发现是gravatar某些网址被墙了.被墙的服务如下:

  • 0.gravatar.com
  • 1.gravatar.com
  • 2.gravatar.com
  • s.gravatar.com

Gravatar服务对于大多数Wordpress博客来说,是一项不可分割的重要的功能,在一位仁兄的博客上看到两个解决方案供大家参考。

 

方案一:避免使用“0.gravatar.com”服务器

通过测试发现,gravatar的主页还是可以访问的,所以可以通过修改相关文件,使wordpress从gravatar主页获取用户的头像解决这个问题。

打开“wp-includes/pluggable.php”文件,在第1645行找到如下代码块:

if ( is_ssl() ) {
$host = ‘https://secure.gravatar.com’;
} else {
if ( !empty($email) )
$host = sprintf( “http://%d.gravatar.com”, ( hexdec( $email_hash{0} ) % 2 ) );
else
$host = ‘http://0.gravatar.com’;
}

将其修改为:

if ( is_ssl() )
$host = ‘https://secure.gravatar.com’;
else
$host = ‘http://www.gravatar.com’;

然后保存就行了.

 

方案二:将Gravatar头像缓存至博客主机

此方法只适用于使用国外主机的博客,原理就是将用户的Gravatar头像缓存至主机服务器上,这样只要你的主机没有被墙而且能连接到Gravatar的服务器,就可以正常显示用户头像了。

要想实现这个功能只需要安装一款名叫“GravatarLocalCache”的插件(插件地址为http://wordpress.org/extend/plugins/gravatarlocalcache/),安装后启用,在后台设置一下缓存时间,然后将“wp-content/glc_cache/”文件夹的权限修改为755即可。

本博客使用的就是这种方法,随便查看一个本站留言者的头像地址,你会发现其已经变为类似“http://yourdomain.com/wp-content/glc_cache/*******.jpg”这样的本地地址了。

相比较第二种方法,第一种方法的好处就是不占用服务器的资源和流量,而且也适用于国内主机;但是采用第二种方法可以提高头像图片的加载速度,而且一旦Gravatar的服务器全部被墙,也能正常运行。

转自:

转载请注明:石头记 » Gravatar被墙的解决方法两则

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (6)

  1. 天朝真他妈搞,好好一个头像服务器关他鸟事
    eric11年前 (2010-10-18)回复
    • 低调低调.和谐社会... 😕
      Lei.11年前 (2010-10-18)回复
      • 我改了第一个 💡
        eric11年前 (2010-10-18)回复
        • 👿 我也是改的代码.不是长久之计..
          Lei.11年前 (2010-10-18)回复
  2. 😕 呵呵.问题解决了就好,这个方法目前来说还是不错的.但是不是长久之计.
    Lei.11年前 (2010-10-18)回复