摘要:最近折腾vps优化,wp super cache和batcache都用到了advanced-cache这个文件,显然同时开启是不可能了,而且关掉wp super cache的话,七牛云存储的CDN又不能用了,虽然可以用插件搞定,可是插件这东西,能少一个还是少一个吧。既然鱼和熊掌不可兼得,只能从七牛插...

七牛CDN插件代码化-空空裤兜

最近折腾vps优化,wp super cache和batcache都用到了advanced-cache这个文件,显然同时开启是不可能了,而且关掉wp super cache的话,七牛云存储的CDN又不能用了,虽然可以用插件搞定,可是插件这东西,能少一个还是少一个吧。既然鱼和熊掌不可兼得,只能从七牛插件入手,想想法让插件代码化。

用了devework的代码,只能实现主题的JS和CSS文件启用CDN缓存,文章中的图片还是用本地地址,放着七牛那么多的流量,不是浪费么。于是接着折腾。看了插件的changelog,在0.2版本中扒拉出来下面的代码,用上,一切OK。

上代码:

  1. define('CDN_HOST','http://kudou.qiniudn.com');   
  2. add_action("wp_footer", 'wpjam_qiniutek_stop_ob_cache' ,9999);   
  3. function wpjam_qiniutek_stop_ob_cache(){   
  4.   
  5.             $html = ob_get_contents();   
  6.             ob_end_clean();   
  7.             $regex =  '/'.str_replace('/','\/',home_url()).'\/((wp-content|wp-includes)\/[^\s]{1,}.(js|css|png|jpg|jpeg|gif|ico)[^\"\'\s]{0,})/';   
  8.             echo preg_replace($regex, CDN_HOST.'/$1', $html);   
  9. }  

PS:七牛的服务好像会偶尔不稳定,不知道其他童鞋有没有感受,又拍云不知道稳定性如何。