本人博客上的图片大多外链接自新浪微相册,最近两天突然发现文章中的图片无法显示。
浏览器右键“查看图片”显示:
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
图片不多还是放本地靠谱