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

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