以前介绍过使用七牛云加速,自我感觉七牛还是蛮不错的。 当然又拍云也可以啦!
关于七牛云存储的好处我们不多说了,它可以把我们网站的 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
方法二,可以加速图片等通过上传方式上传的文件,但是缺点是文件没有在本地进行备份而是直接去了七牛!
方法三,可控可存 可以控制文件储存白名单,文件也会在本地有储存!
你可以依据此说明进行一下选择,选择哟,出错咱不管!!!
好了,又可以干掉一个插件,麻麻再也不用怕插件多了!