最新消息:

修复使用七牛CDN后,评论时出现{"error":"get from source failed: E405"}

wordpress ZmmFly 4547浏览 6评论

以我现在使用的主题(D8)为例吧,D8使用了ajax评论的方法,在使用Wp Super Cache中的CDN功能替换静态资源链接后,评论就会出现标题中的{“error”:”get from source failed: E405″}

在检查过主题和打开的页面后发现了问题所在

D8-client-config

D8是将前端的配置直接放在footer.php中混合html输出的,这就导致了wp super cache替换链接时,按照规则将url中的域名替换为了cdn资源的域名,提交评论时就提交到了七牛那儿。。。于是就出错误了。。。

既然替换了原始链接,那我们换回来就OK了!

在footer.php中找到图中的代码段

在下面添加 _deel.url = _deel.url.replace('你的CDN静态资源域名','你的原始域名');

例如:

window._deel = {
    name: '<?php bloginfo('name') ?>',
    url: '<?php echo get_bloginfo("template_url") ?>',
    rss: '<?php echo dopt('d_rss') ?>',
    maillist: '<?php echo dopt('d_maillist_b') ?>',
    maillistCode: '<?php echo dopt('d_maillist') ?>',
    commenton: <?php echo $commenton ?>,
    roll: [<?php echo $sr_1 ?>,<?php echo $sr_2 ?>]
}
_deel.url = _deel.url.replace('qncdn.qiniudn.com','www.shenqhy.com');

然后保存文件就OK了,如果不放心可以去测试一下~~~!

在其它主题里找不到怎么办?

在评论相关的js文件里找特征,然后自己组合语句

例如:

在主题js目录下的jquery.js中找到这样一段:

20131115213556

里面包含了ajax、comment、url、comment.php等字样,这就是提交评论的地方

其中的_deel.url就是主题目录的链接地址了,这时我们可以在其上面加入 _deel.url = _deel.url.replace('你的CDN静态资源域名','你的原始域名');

但由于javascript是由上到下执行的,为了防止其余的地方用到时出错,可以使用搜索找到最靠前的那个链接变量(这里是_deel.url),在它的上面加入 _deel.url = _deel.url.replace('你的CDN静态资源域名','你的原始域名'); 再保存就可以

关于语句组合的方法就是:  var = var.raplace('要替换的链接','替换上的链接');  其中var代表变量,需要自己根据情况修改

转载请注明:神奇海域 » 修复使用七牛CDN后,评论时出现{"error":"get from source failed: E405"}

发表我的评论
取消评论

Protected by WP Anti Spam

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (6)

  1. 我正准备搞个七牛 CDN
    CYs评论于10年前 (2013-11-28)回复
  2. 文章已经转载了,很不错,收藏
    祥磊部落评论于10年前 (2013-11-29)回复
  3. 找不到啊,不知道怎么修改,哭
    林天评论于10年前 (2014-01-12)回复
  4. 原来这样。。开启缓存都不行
    a8500830评论于10年前 (2014-02-18)回复
  5. 路过一个博客,发现他的评论也是这个故障,怎么好心提醒他修改,所有的页面都无法评论[ppb鼓掌]
    shui评论于10年前 (2014-04-26)回复
    • 可以百度搜 "link:[他的站点链接]",这样搜出来的结果就可能包含他发的外链和评论(在其它博客评论可能会留下),然后在他留言的博客回复他;另外,还可以看域名的whois信息,看注册邮件;还可以通过留下的微博,邮箱;......
      惜颜评论于10年前 (2014-04-27)回复