一、开启 CDN
具体怎么操作,这里就不详细介绍了,网上的相关帖子已经烂大街了。本帖的方法其实和你使用哪家的 CDN 并没有关系的。
二、具体步骤
1. 新增定义 typecho 函数
打开 typecho 主目录下的 config.inc.php,(看清楚不是主题目录,是网站的主目录),在首行的 <?php 后添加以下代码:
/* 定义插件cdn目录(相对路径) */
define('__TYPECHO_CDN_DIR__', '你的cdn绑定域名/');
2. 修改相关代码
接着打开 varWidgetOptions.php,大概第 160 行,找到以下代码:
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);
}
替换成:
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 加速域名啦!!