最新消息:用博客记录点滴生活。与您共同关注互联网,分享互联网。

WordPress纯代码不使用插件调用CDN

博客图片越来越多,全部放在服务器上,流量带宽肯定吃不消,影响访问速度,就想着把图片放到CDN上,找来找去决定使用七牛,本着尽量不用插件的原则,找到了下面的代码,里面的内容自己修改修改,放到主题的functions.php文件即可完全实现调用CDN,可以完美配合各类缓存插件。

//七牛云存储
if ( !is_admin() ) {//访问博客前台才调用
 add_action('wp_loaded','test_qiniu_ob_start');
 
 function test_qiniu_ob_start() {
 ob_start('test_qiniu_cdn_replace');
 }
 
 function test_qiniu_cdn_replace($html) {
 //这里替换为你的博客域名
 $local_host = "http://www.777s.me";
 if ($_SERVER['HTTPS'] != "on") {//判断是否是https请求
 //这里替换为你绑定的七牛域名,非https的
 $qiniu_host = "http://cdn777.qiniudn.com";
 }
 else{
 //这里替换为你绑定的https的七牛域名,如果https下不想使用cdn,也可以设置为https开头的自己的博客域名
 $qiniu_host = "https://dn-cdn777.qbox.me";
 }
 $cdn_exts = 'js|css|png|jpg|jpeg|gif';
 $cdn_dirs = 'wp-content|wp-includes';
 
 $cdn_dirs = str_replace('-', '\-', $cdn_dirs);

 if ($cdn_dirs) {
 $regex = '/' . str_replace('/', '\/', $local_host) . '\/((' . $cdn_dirs . ')\/[^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
 $html = preg_replace($regex, $qiniu_host . '/$1$4', $html);
 } else {
 $regex = '/' . str_replace('/', '\/', $local_host) . '\/([^\s\?\\\'\"\;\>\<]{1,}.(' . $cdn_exts . '))([\"\\\'\s\?]{1})/';
 $html = preg_replace($regex, $qiniu_host . '/$1$3', $html);
 }
 return $html;
 }
}

正文部分到此结束

声明:本文采用 BY-NC-SA 协议进行授权,转载还请注明:http://www.777s.me/wordpress-functions-cdn.html - 777's Blog