WordPress 本人博客上的图片大多外链接自新浪微相册,最近两天突然发现文章中的图片无法显示。 浏览器右键“查看图片”显示: 403 ForbiddenYou don’t have permission to access the URL on this server.Powered by Tengin…

WP使用新浪微相册外链出现异常的解决办法
WordPress

本人博客上的图片大多外链接自新浪微相册,最近两天突然发现文章中的图片无法显示。

浏览器右键“查看图片”显示:

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 文章中的外链图片导入到本地

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。