WordPress 关闭LiteSpeed缓存插件自写代码实现纯粹的CDN加速

提醒:Wordpress用阿里云CDN加速有很大的弊端,就是会影响网站的JS或者CSS无缘无故的故障错误,比如手机端的菜单无法显示等错误。知道的伙伴可以下面留言告诉我们,感谢!

之前不知道如何使用第三方加载Wordpress里的JS,CSS文件,后经过搜索找到插件可以实现,感觉不太好,插件里的功能太多用不了,后来又找到了纯代码实现CDN加速,现在我用的是将静态文件镜像到腾讯云对象存储中然后CDN加速,现在就把代码分享出来吧!
在 WordPress 主题目录下的 functions.php 文件中,加入以下代码实现替换功能:

//静态文件CDN加速
if ( !is_admin() ) {
	add_action('wp_loaded','yuncai_ob_start');
	function yuncai_ob_start() {
		ob_start('yuncai_qiniu_cdn_replace');
	}	
function yuncai_qiniu_cdn_replace($html){
	$local_host = '博客域名'; //博客域名
	$qiniu_host = 'CDN加速域名'; //CDN域名
	$cdn_exts   = 'css|js|png|jpg|jpeg|gif|ico'; //扩展名(使用|分隔)
	$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;
}
}

简单的一段代码,就能让你的 WordPress 实现静态文件 CDN 加速。当然还需要其他的功能,就需要插件了,这里我只用了JS,CSS文件加速,图片什么的还是直接上传到对象存储。

留下评论