解决使用七牛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
解决使用七牛CDN导致AJAX评论报错{“ERROR”:”GET FROM IMAGE SOURCE FAILED: E405″} | JUST FOR FUN
感谢antior.cn博主的提醒。( ̄y▽ ̄)╭
补充,知言主题修改了文件名称和路径,相关文件是comments-ajax.php和function.js

代码·功能

翻译用的WordPress函数:load_plugin_textdomain(插件本地化)和load_theme_textdomain(主题本地化)

2015-12-2 23:39:10

WP技巧代码·功能

摘抄:WordPress获取第一张图片作为缩略图的几种方法

2015-12-16 18:28:02

个人中心
今日签到
有新私信 私信列表
搜索