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

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

文章转载自:https://www.eyuyun.com/23.html

广告栏+++++++蜜糖商店|大哥云| 搬瓦工JMS|红莓网络| Mielink|萌喵加速| 飞鸟云

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注