WordPress开启CDN后评论失败怎么办?

 2018-02-05 13:45:14  22 人阅读  0 条评论

您若有更好的答案请留言告知,一旦确认为最佳答案,将会替换本文的最佳答案,谢谢支持!

 最佳答案:

WordPress 博客如果将静态资源如 JS 文件等采用 CDN 加速的话,一般都会出现评论不成功的情况,这是因为评论时所获取的 commonts-ajax.js 路径不正确导致,所以解决的办法有两个:

方法一:在 CDN 中设置不缓存 commonts-ajax.js 文件即可;

方法二:修改 commonts-ajax.js 文件,打开当前主题所使用的 commonts-ajax.js 文件,找到以下代码:

  1. var i = 0, got = -1, len = document.getElementsByTagName('script').length;
  2. while ( i <= len && got == -1){
  3.     var js_url = document.getElementsByTagName('script')[i].src,
  4.             got = js_url.indexOf('comments-ajax.js'); i++ ;
  5. }

在后面添加一句

  1. js_url = js_url.replace('res.yigujin.cn','www.yigujin.cn');

变成

  1. var i = 0, got = -1, len = document.getElementsByTagName('script').length;
  2. while ( i <= len && got == -1){
  3.     var js_url = document.getElementsByTagName('script')[i].src,
  4.             got = js_url.indexOf('comments-ajax.js'); i++ ;
  5. }
  6. js_url = js_url.replace('res.yigujin.cn','www.yigujin.cn');

保存好文件并刷新该文件的缓存后即可解决评论失败的问题。如果 CDN 的域名不唯一经常变动,那么可以直接把前面那段代码改成:

  1. var i = 0, got = -1, len = document.getElementsByTagName('script').length;
  2. while ( i <= len && got == -1){
  3.     var js_url = document.getElementsByTagName('script')[i].src,
  4.             got = js_url.indexOf('comments-ajax.js'); i++ ;
  5. var dm = js_url.match(/http:\/\/([^\/]+)\//i);
  6. js_url = js_url.replace(dm[1],'www.yigujin.cn');
  7. }

其中 a.yigujin.cn 就是所谓的 CDN 地址,www.yigujin.cn 是站点地址,记得修改成自己的地址哦。

如果文章对你有帮助,请赞赏支持boke112导航发展!

编辑作者:懿古今(QQ号:2226524923,QQ群:415623933
免责声明:本文内容来源于互联网,仅供参考学习之用,如有侵权请联系本站修改删除!

 发表评论