后知后觉,博客开到现在才发现评论有问题,提交时会显示“ERROR”:”GET FROM IMAGE SOURCE FAILED: E405″,难怪我说怎么到现在没有任何评论...
百度了下,是七牛云缓存导致的..也就是说,如果你的主题是 Ajax 评论,又使用七牛云存储,七牛在存储comments-ajax.js 的同时会将comments.php 连着存储过去了。comments.php 这个php 文件只能在php 环境下运行,但明显在七牛服务器里的comments.php 并不是处于php 环境,因此WordPress的 Ajax 评论就会失效。
一、直接修改主题里的ajax.js文件
1、在comments-ajax.js 文件(wp-content/themes/主题名/js/comments-ajax.js)中找到下面这段代码
vari = 0, got = -1, len = document.getElementsByTagName('script').length;
while( i <= len && got == -1){
varjs_url = document.getElementsByTagName('script')[i].src,
got = js_url.indexOf('comments-ajax.js'); i++ ;
}
2、在上述代码后边加入这样一句话
js_url = js_url.replace('qiniu.didisasa.com','www.didisasa.com');
把qiniu.didisasa.com替换成你七牛绑定的二级域名,www.didisasa.com替换成你自己的域名。
3、添加完保存,然后去七牛云控制台更新。刷新文件里填入地址:
http://qiniu.didisasa.com/wp-content/themes/begin/js/comments-ajax.js
PS:把qiniu.didisasa.com替换成你七牛绑定的二级域名
二、直接排除缓存这个文件
我用的插件WP Super Cache,在插件设置里,加入"comments-ajax"
三、关闭Ajax评论(重试成功后可以再打开)
其实前面两种方法我当时都试了,结果还是提示405错误..郁闷的。后来DiDi直接到主题的评论设置里,关闭了Ajax,再一刷新,居然可以评论了!再把Ajax评论打开也再没提示错误。费解...不管怎么样,写出来供大家参考吧...
来源于DiDi的私人小别墅,欢迎分享,转载请注明。
扫码关注微信公众号,寻找有趣的人,精彩世界与你分享。
网友评论