解决使用七牛CDN导致AJAX评论报错{“ERROR”:”GET FROM IMAGE SOURCE FAILED: E405″}

今天发现博客无法评论,顺手记录下解决方法。
如果你的主题是 Ajax 评论的,又使用七牛云存储的话,通过开发者工具可以明显看到。七牛在存储comments-ajax.js 的同时已经将comments.php 连着存储过去了。comments.php 这个php 文件只能在php 环境下运行,但明显在七牛服务器里的comments.php 并不是处于php 环境,因此WordPress的 Ajax 评论就会失效。
1.在comments-ajax.js 文件中下面这段代码的后面

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.qiniu.com','qiniu.com');

cdn.qiniu.com改为你的七牛提供的二级域名(如果源域名有备案可以使用自己的),qiniu.com就改成你的域名。这样就可以解决这个问题了。
2.直接排除缓存这个文件
我用的WP Super Cache

感谢antior.cn博主的提醒。( ̄y▽ ̄)╭
补充,知言主题修改了文件名称和路径,相关文件是comments-ajax.php和function.js

内容投诉
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
7 条回复 A 作者 M 管理员
  1. 好啦,我来试试能不能评论~

    • 我偷懒直接取消js文件的七牛缓存了

  2. 你才知道你这无法评论啊!(滑稽)

    • 以前没这问题,近期加了七牛忘记改了(滑稽)

  3. 测试

  4. 试试看能不能评论

  5. 好像还不行啊,按照第一种方法,做了。

欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论