刚接触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加速域名啦!!