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 上工作的主要内容,如果未能解决你的问题,请参考以下文章
前端 CDNJS 库及 Google FontsAjax 和 Gravatar 国内加速服务