本人博客上的图片大多外链接自新浪微相册,最近两天突然发现文章中的图片无法显示。
浏览器右键“查看图片”显示:
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 文章中的外链图片导入到本地
1. 资源都是经过站长或作者收集测试修改后发布分享。如若转载请在文内以超链形式注明狐狸库文章出处,谢谢合作!
2. 本站除原创内容,其余所有内容均收集自互联网,仅限用于学习和研究目的,本站不对其内容的合法性承担任何责任。如有版权内容,请通知我们或作者删除,其版权均归原作者所有,本站虽力求保存原有版权信息,但因众多资源经多次转载,已无法确定其真实来源,或已将原有信息丢失,所以敬请原作者谅解!
3. 本站用户所发布的一切资源内容不代表本站立场,并不代表本站赞同其观点和对其真实性负责,若您对本站所载资源作品版权归属存有异议,请留言附说明联系邮箱,我们将在第一时间予以处理 ,同时向您表示歉意!为尊重作者版权,请购买原版作品,支持您喜欢的作者,谢谢!
4. 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客如有发现请立即向站长举报;本站资源文件大多存储在云盘,如发现链接或图片失效,请联系作者或站长及时更新。
请登录后查看评论内容