A-A+

解决使用知更鸟主题无法提交评论问题

2016年01月27日 学习 评论 3 条 阅读 4,005 次
自打采用知更鸟的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文件,客户端刷新重新获取该文件,再次尝试提交评论成功,问题解决。
标签:

3 条留言  访客:3 条  博主:0 条

  1. 爱在灵灵久博客

    我的修改后还是不能 不知道是怎么回事

  2. 记忆

    还不能?

    • guijianshi

      已经恢复了。

给我留言取消回复