typecho静态资源分离并CDN加速过程记录



  今天把老站静态资源分离并 CDN 加速,网页加载速度直接从 1~2 秒提速到百毫秒,舒服多了。CDN 用的七牛云 。

  所谓静态资源,即网站 CSS 、JS 、模板图片等不常变得的文件,我们可以把他们放到云存储上,来减少主站的资源加载,从而提升网站的加载速度。下面来记录下实现过程。

功能代码

修改主题模板 functions.php

  在 functions.php 文件的 function themeConfig($form) {} 函数中添加以下代码:

$cjcdnAddress = new Typecho_Widget_Helper_Form_Element_Text('cjcdnAddress', NULL, NULL, _t('CSS文件的链接地址替换'), _t('请输入你的CDN云存储地址,例如:http://cdn.example.com/,支持绝大部分有镜像功能的CDN服务<br><b>被替换的原地址为主题文件位置,即:http://www.example.com/usr/themes/cactus/</b>'));
$form->addInput($cjcdnAddress);
复制

  在 functions.php 文件最后面添加以下代码:

//设置CDN
function cjUrl($path) {
    $options = Helper::options();
    $ver = '?ver='.constant("INITIAL_VERSION_NUMBER");
    if ($options->cjcdnAddress) {
        echo rtrim($options->cjcdnAddress, '/').'/'.$path.$ver;
    } else {
        $options->themeUrl($path.$ver);
    }
}
复制

修改主题模板 header.php

  将 header.php 中 css 、js 、模板图片文件的调用代码换成: <?php cjUrl('jscss/OwO.min.css'); ?> 。其中 jscss/OwO.min.css 即为主题文件夹下的静态资源。

静态资源 CDN 加速地址设置

  

静态资源设置cdn.jpg

图:静态资源设置cdn.jpg

  注:若有设置 cdn 则静态资源调用加速网址,否则调用本地网址。

PS: $ver 为主题版本号,需在主题 functions.php开头设置,如:define('INITIAL_VERSION_NUMBER', '1.6.9');



 赏 
感谢您的支持,我会继续努力哒!
支付宝收款码
tips
  • OωO
  • |´・ω・)ノ
  • ヾ(≧∇≦*)ゝ
  • (☆ω☆)
  • (╯‵□′)╯︵┴─┴
  •  ̄﹃ ̄
  • (/ω\)
  • ∠( ᐛ 」∠)_
  • (๑•̀ㅁ•́ฅ)
  • →_→
  • ୧(๑•̀⌄•́๑)૭
  • ٩(ˊᗜˋ*)و
  • (ノ°ο°)ノ
  • (´இ皿இ`)
  • ⌇●﹏●⌇
  • (ฅ´ω`ฅ)
  • (╯°A°)╯︵○○○
  • φ( ̄∇ ̄o)
  • ヾ(´・ ・`。)ノ"
  • ( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
  • (ó﹏ò。)
  • Σ(っ °Д °;)っ
  • ( ,,´・ω・)ノ"(´っω・`。)
  • ╮(╯▽╰)╭
  • o(*////▽////*)q
  • >﹏<
  • ( ๑´•ω•) "(ㆆᴗㆆ)
  • (。•ˇ‸ˇ•。)
  • 😂
  • 😀
  • 😅
  • 😊
  • 🙂
  • 🙃
  • 😌
  • 😍
  • 😘
  • 😜
  • 😝
  • 😏
  • 😒
  • 🙄
  • 😳
  • 😡
  • 😔
  • 😫
  • 😱
  • 😭
  • 💩
  • 👻
  • 🙌
  • 🖕
  • 👍
  • 👫
  • 👬
  • 👭
  • 🌚
  • 🌝
  • 🙈
  • 💊
  • 😶
  • 🙏
  • 🍦
  • 🍉
  • 😣
  • 颜文
  • Emoji
  • 虎牙
  • 阿鲁
(*) 8 + 3 =
共 6 条评论, 2 次评论点赞。快来参与吧!
    2022年06月26日 江苏省 发自Windows 10 回复 2

    赞赞赞!终于明白了❤️❤️❤️

    2022年04月07日 湖北省武汉市 发自Mac OSX 回复 0

    Typecho不错

      2022年04月07日 广东省广州市 发自Windows 10 回复 0

      被我改的很乱了,

    2022年04月03日 广东省广州市 发自Windows 10 回复 0

    测试

    2022年04月03日 北京市 发自Windows 10 回复 0

    评论的时候报错了
    Argument 1 passed to Utils\Markdown::convert() must be of the type string, null given, called in /home/srzcom/domains/80srz.com/public_html/usr/themes/cactus/functions.php on line 344

      2022年04月03日 广东省广州市 发自Windows 10 回复 0

      插件不兼容,哎,搞不定啊,只有禁用评论邮件提醒插件了……