目录

Typecho静态资源白嫖CDN加速


做网站的人大多都有一个共同的想法,就是让自己的网站又快又好。但受服务器的地理位置、带宽的影响,从服务器加载静态文件会拖慢网站的打开速度(尤其是境外服务器,如本站),这种时候就可以把静态文件放置在别的地方使用别人的cdn进行加速如:github+jsdelivr、gitee、coding等代码托管平台。

上传静态资源

将网站目录里/usr/themes/主题名/usr/plugins/插件名里的.js .css文件带文件路径上传到github或其他平台

修改代码

编辑网站目录下config.inc.php并添加以下代码

1
2
/** 定义插件目录(相对路径) */
define('__TYPECHO_CDN_DIR__', 'https://github.com');

注意将github.com替换成你的cdn加速域名,并且结尾不带/ 然后打开网站目录\var\Widget\Options.php将以下内容中的$this->siteUrl替换成__TYPECHO_CDN_DIR__(在160行左右,上半部分为主题资源,下半部分为插件资源,可根据实际情况只替换一个)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
     * 获取模板路径
     *
     * @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);
    }

成品如下

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
     * 获取模板路径
     *
     * @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__);
    }

保存,然后打开网站,看看静态资源是不是都变成了你的cdn加速域名