使用七牛CDN导致ajax评论报错{“error”:”get from image source failed: E405″}

启用七牛CDN之后,发现评论报错{“error”:”get from image source failed: E405″}

经过搜索,确实是CDN的问题,不只是七牛,其他CDN也一样。

原因就是CDN把你的comments-ajax.js文件给缓存走了,结果导致路径错误,这时候我们有两种选择来修复这个问题。

 

1、修改js文件让它能够支持你的CDN路径

2、将这个文件单独排除在CDN的镜像列表之外

解决办法

1、修改comments-ajax.js文件

这种方法的好处是你依旧可以体验完整的CDN镜像服务,你需要打开你主题目录下对应的文件然后修改它,找到如下的代码段(一般应该是在开头的)

然后就在代码后边加入这样一句话

这样,修改完成后应该是下边的样子

var i = 0, got = -1, len = document.getElementsByTagName('script').length;
while ( i <= len && got == -1){
var js_url = document.getElementsByTagName('script')[i].src,
got = js_url.indexOf('comments-ajax.js'); i++ ;
}
js_url = js_url.replace('img.qiniudn.com','www.lucktribe.com');


然后就保存上传就好了

2、添加CDN镜像例外

如果你使用WP Super Cache来开启CDN镜像的,那你也可以选择我这种修复办法——直接将这个js文件排除在镜像列表之外就好了,虽然加载的时候多了一个js文件,但省去了对付七牛那个缓慢的刷新过程,其实还是很不错的,立竿见影啊~

另外,我想其他的CDN插件应该也会有类似的排除功能

好了,找到你WP Super Cache的CDN页面,然后在下边找到“如果是之前有则排除”这一项,将comment-ajax填写进去就好了。记得多个语句之间用英文的逗号来分隔哦!

 

 

这个时候你去测试评论,就发现已经可以正常使用啦。

 

  • weinxin
  • weinxin
  • IT小天博客
  • 小天既不是大神,也不是技术大咖,喜欢折腾,喜欢代码的世界,喜欢分享自己的生活乐趣和学习经验,关注互联网发展,关注网站建设。
  • GitHub 微博 微信 球球Q 邮箱

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: