Gravatar 不再在 https 上工作

Posted

技术标签:

【中文标题】Gravatar 不再在 https 上工作【英文标题】:Gravatar No Longer working over https 【发布时间】:2014-04-22 19:48:22 【问题描述】:

几个月来,我们一直在为网站成员使用不同的默认 gravatar 图片,但突然这不再有效。

直接尝试访问位于此处的图像时出现错误“我们无法完成此请求,无法获取远程数据”:http://tinyurl.com/ou7tfg3

这是 functions.php 文件(wordpress)中的内容

 add_filter( 'avatar_defaults', 'mytheme_default_avatar' );
 function mytheme_default_avatar( $avatar_defaults ) 
 
     $avatar = get_option('avatar_default');

     $new_avatar_url = get_template_directory_uri() . '/images/iBDgravatar.png’, ‘http’;

     if( $avatar != $new_avatar_url )
     
         update_option( 'avatar_default', $new_avatar_url );
     

     $avatar_defaults[ $new_avatar_url ] = 'Default Avatar';
     return $avatar_defaults;
 

问题:我们如何才能只将图像作为 http 提供 - 不安全?

或者有没有更好的方法来解决这个问题?

将 URL 更改为 https 似乎也无法修复

  add_filter( 'avatar_defaults', 'new_default_avatar' );

  function new_default_avatar ( $avatar_defaults ) 
    //Set the URL where the image file for your avatar is located
    $new_avatar_url = 'https://www.ibodyguardsdirect.com/wp-content/uploads/2013/gravatar/iBDgravatar.png';
    //Set the text that will appear to the right of your avatar in Settings>>Discussion
    $avatar_defaults[$new_avatar_url] = 'default';
    return $avatar_defaults;
   

【问题讨论】:

如果你决定从不安全的连接中服务一个元素,那么整个 HTTPS 的事情是没有意义的,修复头像。 是的 - 那么如何解决? 您正在从ibodyguardsdirect.com(我怀疑属于您的域)中获取图片。这个问题和 Gravatar 服务有什么关系? 【参考方案1】:

对于 https 使用“https://secure.gravatar.com/avatar/”而不是“http://www.gravatar.com/avatar/”

【讨论】:

确实,这不是很明显,但是通过查看 WordPress 内部的代码,它是这样工作的!

以上是关于Gravatar 不再在 https 上工作的主要内容,如果未能解决你的问题,请参考以下文章

如何解决由Gravatar引起的SSL混合内容问题?

工具 - gravatar保存头像

使用gravatar生成头像

前端 CDNJS 库及 Google FontsAjax 和 Gravatar 国内加速服务

前端 CDNJS 库及 Google FontsAjax 和 Gravatar 国内加速服务

php 禁用gzip,minify,缓存,性能,正常运行时间,smush,gravatar,特定页面上的页面缓存等模块