本人博客上的图片大多外链接自新浪微相册,最近两天突然发现文章中的图片无法显示。
浏览器右键“查看图片”显示:
403 Forbidden
You don't have permission to access the URL on this server.
Powered by Tengine
而复制图片链接,直接在浏览器中打开,又可以看到图片,这是什么防护机制呢........
这个情况只有电信和移动网络是这样,联通貌似正常。
难道视觉中国的黑洞也波及到新浪了?
如果新浪真的限制外链,很多网站会遭殃。
解决办法
通用的解决方法,打开当前主题头部模板header.php在上面最后一个[code]<meta> [/code]标签下面添加:
<meta name="referrer" content="no-referrer">
之后图片可以正常显示了。
但上面的方法只解决了前端图片显示,后台编辑添加图片时还是看不到图片,最终解决方法:
将下面代码添加到当前主题函数模板functions.php中:
// 添加referrer标签
add_action('wp_head', 'zm_admin_referrer');// 前端
add_action('admin_head', 'zm_admin_referrer');// 后台
add_action('login_head', 'zm_admin_referrer');// 登录注册页面
function zm_admin_referrer(){
echo'<meta name="referrer" content="no-referrer" />';
}
通过WP钩子分别在前端和后台头部自动添加:[code]<meta name="referrer" content="no-referrer" />[/code]
不过貌似并不是所有浏览器都支持这个标签,比如IE,多亏微软自己都把IE抛弃了,国内那些所谓双核浏览器,在极速或者高速模式下也正常显示,至于这个“referrer”标签的作用是什么,请自行百度学习。
新浪微相册外链突然不能正常显示,什么原因造成的未知,上面的方法也只能说是临时的解决方案。
另外,上述referrer标签会影响百度统计,目前无解。
如果是在img标签中调用图片可以用这面下形式:
<img src="xxx" referrerPolicy="no-referrer">
想把外链的图片下载到本地,详见:批量将 WordPress 文章中的外链图片导入到本地
本站文章大部分为原创,用于个人学习记录,可能对您有所帮助,仅供参考!







1F
我的一直显示没问题
B1
@ 遇见台儿庄 和有啥区别吗?
2F
鸟叔的站终于弄好了,我来观摩
3F
这么多年了,新浪应该不会改吧。
4F
我的也是用的新浪 我的肺啊
B1
@ 唯美图片 你网站全是新浪外链
拿外链做图片站不靠谱啊。
5F
加上这段代码确实解决了燃眉之急 不过希望新浪不要挂 不然 真的影响挺大的 因为有非常多的图片都在新浪上面 一旦限制了外链 那就有点麻烦了···
6F
难怪,最近老是图片加载不出来,所以换本地了。
7F
遭遇过又拍网的图片外链更改后,我就一直把图片放本地了。
8F
我的300多张图片啊,这要是全部取消外链,要凉凉啊。
9F
看来以后不敢随便把图片交给外部额。
10F
没用新浪微相册,直接搞的cdn
11F
博客相册和微博相册,这个问题我也急需答案
12F
刚刚分析了下,应该不是同一个,新浪微博的文章分享出去再复制下图片的链接,是wx1.sinaimg.cn
13F
图片不多还是放本地靠谱