wordpress-qiniu-cdn

大家都知道我这个博客是搭建在新浪SAE上面的,但是新浪SAE还没被认证,所以云豆总是不够用,所以就想通过CDN来实现缓存,减少SAE方面的流量。方法如下:

第一步:创建七牛公开空间

首先,你得有一个七牛账号(这不是废话么~)。什么?你才知道七牛?那还不快注册成为七牛用户,立即享受每月 10G 流量 + 10G 存储的免费服务。

有了账号,你就可以新建空间,我们需要建立一个公开空间。

第二步:设置镜像存储

成功建立空间之后,打开该空间的【空间设置】页面。

在【域名设置】下,我们知道了该空间的默认域名,你也可以绑定自己的域名,这里不展开讨论。

在【镜像存储】下,点击【一键加速网站】按钮,在弹出的对话框中,【镜像源】填写你的博客地址,确定即可。

第三步:添加 WordPress 代码

在 WordPress 主题目录下的 functions.php 文件中,加入以下代码实现替换功能:

if ( !is_admin() ) {
	add_action('wp_loaded','liuronghuan_ob_start');
	
	function liuronghuan_ob_start() {
		ob_start('liuronghuan_qiniu_cdn_replace');
	}
	
	function liuronghuan_qiniu_cdn_replace($html) {
		return str_replace('http://meediy-wordpress.stor.sinaapp.com', 'http://7u2rs9.com1.z0.glb.clouddn.com', $html);
	}
}

如果你需要更具体的范围控制(多目录、指定文件类型),可使用以下代码替换上面的liuronghuan_qiniu_cdn_replace 部分:

//修改自七牛镜像存储 WordPress 插件
function liuronghuan_qiniu_cdn_replace($html){
	$local_host = 'https://liuronghuan.com'; //博客域名
	$qiniu_host = 'http://liuronghuan.u.qiniudn.com'; //七牛域名
	$cdn_exts   = 'js|css|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;
}

大功告成

简单的3步,就能让你的 WordPress 实现 CDN 加速。当然,如果你的需求还包括加速远程图片或刷新缓存等,那么还是老老实实安装七牛镜像存储 WordPress 插件吧。

请转载注明出处:刘荣焕 » wordpress纯代码实现七牛CDN加速

目前共有2条评论

发表评论

 
QQ在线咨询
售前咨询热线
13915443864
售后咨询热线
13915443864