真正的Typecho非插件实现全站css,js,图片静态资源CDN加速 !阿里、腾讯、七牛、又拍云等通用!

真正的Typecho非插件实现全站css,js,图片静态资源CDN加速 !阿里、腾讯、七牛、又拍云等通用!

小天
2021-12-19 / 1 评论 / 726 阅读 / 搜一下 / 正在检测是否收录...


5cda6d320fac0606.jpg


1和2需求,其实只需要几行代码或者一个简单的插件就能实现。
这里小天是选择了插件,方便后台切换,只需要安装一个七牛云CDN链接替换插件即可,原理就是动态替换文章附件和列表缩略图的域名。


1.操作之前,需要先把主题模板、插件等css、js等静态资源镜像传到七牛云。
2.打开Typecho主目录下的config.inc.php,在首行<?php 添加以下代码:

/* 定义cdn目录 */
define('__TYPECHO_CDN_DIR__', '你的cdn绑定域名/');

3.打开varWidgetOptions.php,大概152~174行,找到以下代码:

    /**
     * 获取模板路径
     *
     * @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__);
    }

替换成下面:修改模板路径和插件路径

    /**
     * 获取模板路径
     *
     * @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__);
    }

到现在为止,实现了文章附件、列表缩略图和CSS、JS资源CDN加速【想要切换到本地时候,只需要关闭插件和把config.inc.php里定义的CDN目录,替换成本地域名即可】


小天实现的方式是在根目录新建static文件夹,里面存放所有的这些自定义图片,然后把文件夹镜像传到七牛云,最后在不同的主题设置logo、背景图等路径时,填写CDN域名即可,切换时改回本地域名就可以了。

8

评论 (1)

打卡
取消
  1. 头像
    ♘LV.25 小明同学
    Windows 10 · QQ Browser

    滴!贵宾卡!打卡时间:下午6:55:28,请上车的乘客系好安全带~

    回复