以前介绍过使用七牛云加速,自我感觉七牛还是蛮不错的。 当然又拍云也可以啦!

关于七牛云存储的好处我们不多说了,它可以把我们网站的 css.js. 图片等全部放在七牛进行加速

虽然有免费流量的限制但是小站基本上够用,幻杀使用后感觉速度提升还是很明显的。

幻杀使用的插件,是我爱水煮鱼开发的七牛云存储插件,但是使用 P3(点击这里查看)进行检测时,显示居然很坑速度,本来我还是很喜欢插件,但是对速度好吧……我不说了。

嗯,这个方法你可以选择用代码的,当然也可以不用代码的,如果都嫌烦那么还是用插件吧 关于

多方法可以选择性共同使用,记住是选择 !选择哟!记住看最后的评论再选择!

方法 1:

把这个插件代码化,这样就不用插件了。 打开你主题文件中的 funsion 文件(修改有风险,用前需备份)加入以下代码
//将主题自带的 CSS 和 JS 文件替换成七牛镜像存储
define(‘CDN_HOST’,’http://hsdate.qiniudn.com/’);
add_filter(‘stylesheet_directory_uri’,’dw_cdn_stylesheet_directory_uri’,10,3);
function dw_cdn_stylesheet_directory_uri($stylesheet_dir_uri, $stylesheet, $theme_root_uri) {
return str_replace(home_url(), CDN_HOST, $stylesheet_dir_uri);
}
add_filter(‘template_directory_uri’,’dw_cdn_template_directory_uri’,10,3);
function dw_cdn_template_directory_uri($template_dir_uri, $template, $theme_root_uri) {
return str_replace(home_url(), CDN_HOST, $template_dir_uri);

把里面设置的 hsdate.qiniudn.com 地址换成你自己申请的加速域名。七牛又拍应该都有吧!

然后保存刷新下后查看下源代码,发现有关 js 的域名是不是已经被更改了!

当然这个只可以对你的 js 和 css 进行加速,对图片无效!

方法 2:

使用上边方法加速效果不好?一般大家站点 js css 数量应该没有图片多,最主要还是加速图片吧

使用这个方法图片也是可以加速的。

所以那使用下面的方法就可以将图片也使用七牛云存储了。

就如这个地址:http://ihuan.me/wp-admin/options.php,然后那找到 upload_url_path,使用快捷键 跟方便 别自个凭眼睛慢慢找,你会疯的!

其中 ihuan.me 要换成你自己个博客地址 如果安装在子目录下 将子目录一块弄进去。

找到后 在那项出 添加 http://hsdate.qiniudn.com/wp-content/uploads,然后保存,其中 hsdate.qiniudn.com 一样换成你自己的。

这时候我们写一篇文章添加一张图片试试,图片的地址是不是已经变为七牛的地址了呢!

方法 2 有缺陷:就是说图片直接存在七牛的 cdn 空间上,这个对于网站空间紧张的用户来说是一个不错的选择

但是对于网站空间很充足的来说就不是很爽了,因为七牛毕竟不是自己的空间,我们不可能吧希望全部放在七牛那边,将来如果更换 cdn 空间的话这些图片有可能就全部无法使用!

简单的说,就是图片将直接上传至七牛空间而不通过你自己的空间! 图片不会在你的空间储存而是直接储存到了七牛!有利有弊,空间小的高兴,空间足的不高兴!

因为方法 2 没有备份,如果你有需要更换的话,就选择方法 3,图片在本地回自动保留一份!

方法 3:

define(‘FocusCDNHost’,’http://ihuan.me’);//WordPress 网站网址
define(‘FocusCDNRemote’,’http://hsdate.qiniudn.com’);//cdn 域名
define(‘FocusCDNIncludes’,’wp-content,wp-includes’);//设置加速目录,可自行输入
define(‘FocusCDNExcludes’,’.php|.xml|.html|.po|.mo’);//设置文件白名单,一样可自行输入
define(‘FocusCDNRelative’,”);
function do_cdnrewrite_ob_start() {
$rewriter = new FocusCDNRewriteWordPress();
$rewriter->register_as_output_buffer();
}
add_action(‘template_redirect’, ‘do_cdnrewrite_ob_start’);
class FocusCDNRewriteWordPress extends FocusCDNRewrite
{
function __construct() {
$excl_tmp = FocusCDNExcludes;
$excludes = array_map(‘trim’, explode(‘|’, $excl_tmp));
parent::__construct(
FocusCDNHost,
FocusCDNRemote,
FocusCDNIncludes,
$excludes,
!!FocusCDNRelative
);
}
public function register_as_output_buffer() {
if ($this->blog_url != FocusCDNRemote) {
ob_start(array(&$this, ‘rewrite’));
}
}
}
class FocusCDNRewrite {
var $blog_url = null;
var $cdn_url = null;
var $include_dirs = null;
var $excludes = array();
var $rootrelative = false;
function __construct($blog_url, $cdn_url, $include_dirs, array $excludes, $root_relative) {
$this->blog_url = $blog_url;
$this->cdn_url = $cdn_url;
$this->include_dirs = $include_dirs;
$this->excludes = $excludes;
$this->rootrelative = $root_relative;
}
protected function exclude_single(&$match) {
foreach ($this->excludes as $badword) {
if (stristr($match, $badword) != false) {
return true;
}
}
return false;
}
protected function rewrite_single(&$match) {
if ($this->exclude_single($match[0])) {
return $match[0];
} else {
if (!$this->rootrelative || strstr($match[0], $this->blog_url)) {
return str_replace($this->blog_url, $this->cdn_url, $match[0]);
} else {
return $this->cdn_url . $match[0];
}
}
}
protected function include_dirs_to_pattern() {
$input = explode(‘,’, $this->include_dirs);
if ($this->include_dirs == ” || count($input) < 1) { return ‘wp-content|wp-includes'; }
else { return implode(‘|’, array_map(‘quotemeta’, array_map(‘trim’, $input))); } }
public function rewrite(&$content) { $dirs = $this->include_dirs_to_pattern();
$regex = ‘#(?<=[(“’])'; $regex .= $this->rootrelative
? (‘(?:’.quotemeta($this->blog_url).’)?’)
: quotemeta($this->blog_url);
$regex .= ‘/(?:((?:’.$dirs.’)[^”’)]+)|([^/”’]+.[^/”’)]+))(?=[”’)])#';
return preg_replace_callback($regex, array(&$this, ‘rewrite_single’), $content);
}
}

方法 3 很高大上,完全可以和插件媲美,准确说和插件差不多了,插件有的他也有,除了七牛那个恶心人的水印木有!

白名单啥的都有了!

根据前面的描述,大体给个使用的说明

方法一,可以只可以加速 js css

方法二,可以加速图片等通过上传方式上传的文件,但是缺点是文件没有在本地进行备份而是直接去了七牛!

方法三,可控可存 可以控制文件储存白名单,文件也会在本地有储存!

你可以依据此说明进行一下选择,选择哟,出错咱不管!!!

好了,又可以干掉一个插件,麻麻再也不用怕插件多了!