A-A+
解决使用知更鸟主题无法提交评论问题
自打采用知更鸟的ality主题以来,wordpress运行一直都很正常,今天在使用评论功能的时候突然发现评论功能无法使用,点击提交按钮报错:{“error”:”get from image source failed: E405″}。让我很是莫名其妙,首先查看文章的评论设置,确认了应该不是程序设置问题,接着打开Apache日志查看是否有错误,在查看访问日志的时候发现,每次点击提交按钮产生的日志为:
183.136.139.xx - - [27/Jan/2016:23:01:11 +0800] "GET /xxxx/themes/xxx/xxxx/functions/comment-ajax.php HTTP/1.1" 405 20 "-" "qiniu-imgstg-spider-1.0"
很明显是我使用了七牛加速的问题,PHP页面不应该由七牛来请求,但我对网站方面知识的不足,也就只能到这了,只能求助搜索引擎,果然没有让我失望,wordpress作为知名网站系统,资料还真是全面,挺多这方面的文档,总结之后,才知道是我使用的知更鸟主题采用了Ajax评论效果,但comments-ajax.js文件被缓存到了七牛的服务器上,从而导致comments-ajax.js引用的comments.php从七牛获取,但php页面必须由服务器执行后,客户端才能使用,而七牛显然不能实现。
解决办法就是修改网站服务器端主题程序里的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('xxxxcdn.qiniu.com','www.zhusl.tk');
"xxxxcdn.qiniu.com"为在七牛分配的二级域名,“www.zhusl.tk”就是网站的真实源站域名。 然后到七牛存储里删除缓存的comments-ajax.js文件,客户端刷新重新获取该文件,再次尝试提交评论成功,问题解决。
我的修改后还是不能 不知道是怎么回事
还不能?
已经恢复了。