当前位置:首页 > WordPress教程代码·功能 > 正文

WordPress非插件使用七牛云存储、又拍云

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

关于七牛云存储的好处我们不多说了,它可以把我们网站的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

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

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

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

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

标签:
上一篇: 下一篇:

8 条评论

评论加载中...
  1. 板凳
    来自天朝的朋友 QQ浏览器 Windows 7
    小C博客  

    挺不错的!!拿走了!!

    2016年4月29日 13:49 评论
  2. 沙发
    来自天朝的朋友 未知浏览器 Unknow Os
    Han  

    用了方法三没办法评论,好受伤!

    2015年1月19日 10:08 评论
    • 我就用的3啊! 你是不是平滑式评论?

      2015年1月19日 12:42 评论
      • Han  

        你的是多说,我是自带评论

        2015年1月19日 16:24 评论
        • 修改下comments-ajax这个或者不缓存他

          2015年1月19日 18:17 评论
          • Han  

            也懒得折腾了,现在静态全靠加速乐缓存着。。。。

            2015年1月19日 20:39 评论
            • 怎么哪里都看得到你呢?
              博主好像是一只妹子。

              2015年10月11日 19:44 评论
              • 小幻  

                你猜咯

                2015年10月23日 19:39 评论

发表评论

不理你。不要啊!吃饭。吃惊。吃西瓜。飞吻!恭喜!Hi纠结!膜拜!OK抛媚眼。泡泡糖。抛钱。忍!生闷气!调皮。偷看。委屈。献花。疑问?抓狂!

小提示:Ctrl+Enter快速提交助您一臂之力~
加载中……