七牛cdn插件导致站点响应500错误

发布于 2016-09-25

这些天一直被这个问题烦扰着,博客可以正常打开,但是那个http响应头显示500错误,导致的结果就是网站健康报错 ,然后就各种捣腾,各种检查 nginx、php、这些程序一一检测过去依然没有一点发现、网上求助也无果、后来突然想起插件、然后一试才发现是这个(WPJAM 七牛镜像存储) 插件弄的、禁用就好了。


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

发布于 2016-09-12

发现 因为之前路由一直想要尝试使用第三方的社会化评论框来取代WP自身的评论,但是奈何无论如何也找不到合适的选择,现在只好再次换回了自带的评论框。(好吧反正也没人会来评论。) 但是换回自带的评论框后发现了一个问题,那就是当开启了Ajax之后无论发布什么内容的评论,都会导致{“error”:”get from image source failed: E405″}报错从而无法发布评论。 原因 经google后得到结论,根据这里的记录表明是七牛CDN的问题。当然,事实证明确实是CDN的问题,但可能并不只有七牛才会导致这样的吧,或者我们可以猜想,是CDN导致了这个问题。 原理就是CDN把你的comments-ajax.js文件给缓存走了,结果导致路径错误,这时候我们有两种选择来修复这个问题。 修改js文件让它能够支持你的CDN路径 将这个文件单独排除在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('cdn.moenyi.cn','www.moenyi.cn'); 这样,修改完成后应该是下边的样子 var i = 0, got = -1, len = document.getElementsByTagName('script').length; while ( i <= len ...