博主最近从wordpress转战typecho,喜欢typecho的简洁、大气,感觉wordpress太过臃肿、速度慢(也可能是因为是菜鸟,不会优化)。但是,typecho毕竟是小众博客系统,存在许许多多还没人踏过的坑,这不...刚想使用cdn全站静态资源加速就遇到问题了。

刚接触typecho的cdn相关插件,就感觉功能性对我等小白来说太少了,和wordpress来比差太多,而且,相关的cdn插件都是针对图片等附件上传才生效的,并没有针对css、js等静态资源的加速功能(即将这类静态资源自动上传到cdn)。
本站的服务器在国外,要想国内访问流畅,必须使用CDN加速,终于功夫不负有心人,在寻遍googole、baidu后,终于慢慢琢磨出来.....

一、开启CDN

具体怎么操作,这里就不详细介绍了,网上的相关帖子已经烂大街了。本帖的方法其实和你使用哪家的CDN并没有关系的。

二、具体步骤

1.新增定义typecho函数

打开typecho主目录下的config.inc.php,(看清楚不是主题目录,是网站的主目录),在首行的<?php后添加以下代码:

/* 定义插件cdn目录(相对路径) */
define('__TYPECHO_CDN_DIR__', '你的cdn绑定域名/');
/* 不要忘了域名后面的斜杠 */

2.修改相关代码

接着打开\var\Widget\Options.php,大概第160行,找到以下代码:

 * 获取模板路径
 *
 * @access protected
 * @return string
 */
protected function ___themeUrl()
{
   return defined('__TYPECHO_THEME_URL__') ? __TYPECHO_THEME_URL__ :
   Typecho_Common::url(__TYPECHO_THEME_DIR__ . '/' . $this->theme, $this->siteUrl);
}

/**
 * 获取插件路径
 *
 * @access protected
 * @return string
 */
protected function ___pluginUrl()
{
 return defined('__TYPECHO_PLUGIN_URL__') ? __TYPECHO_PLUGIN_URL__ :
 Typecho_Common::url(__TYPECHO_PLUGIN_DIR__, $this->siteUrl);
}

替换成:

/**
* 获取模板路径
*
* @access protected
* @return string
*/
protected function ___themeUrl()
 {
   return defined('__TYPECHO_THEME_URL__') ? __TYPECHO_THEME_URL__ :
   Typecho_Common::url(__TYPECHO_THEME_DIR__ . '/' . $this->theme,__TYPECHO_CDN_DIR__);
  }

/**
* 获取插件路径
*
* @access protected
* @return string
*/
protected function ___pluginUrl()
  {
   return defined('__TYPECHO_PLUGIN_URL__') ? __TYPECHO_PLUGIN_URL__ :
   Typecho_Common::url(__TYPECHO_PLUGIN_DIR__,__TYPECHO_CDN_DIR__);
  }

3.大功告成

此时,到首页和文章页ctrl+F5刷新几遍,看看你的css、js静态资源是不是变成你的cdn加速域名啦!!
如有疑问,请在下方留言,灌水者一律禁止IP!
END!!

文章目录