- UID
- 58
- 注册
- 2017/12/04
- 消息
- 2
- 黄金
- 1,151G
- 中国
- 河南省
- 南阳市 网友
- #1
首先你需要准备好 cdn 域名和服务器,比方说你使用 cdn.domain.com 作为 cdn 域名。这里不细说。
然后,在 xenforo 开启 cdn 非常简单,只要编辑 src/config.php ,加入如下内容:
这样,data 和 js 目录下的所有静态文件都会被缓存到 cdn 服务器。
如果你的论坛流量很大,附件中的音频和视频很多,由于 audio 和 video 两个子目录都在 data 目录下,所以它们也都会被缓存到 cdn 服务器,造成 cdn 流量非常大。
所以你可能会有不缓存 audio 和 video 的需求。那该怎么办呢?
我是调查了好几天,才找到这个解决方案的,贡献给大家。还是编辑 src/config.php :
这个写法用处非常大,包括使用多个 cdn 服务器等等,都可以在这个函数里处理,这里不细说。
然后,在 xenforo 开启 cdn 非常简单,只要编辑 src/config.php ,加入如下内容:
PHP:
$config['javaScriptUrl'] = 'https://cdn.domain.com/js';
$config['externalDataUrl'] = 'https://cdn.domain.com/data';
如果你的论坛流量很大,附件中的音频和视频很多,由于 audio 和 video 两个子目录都在 data 目录下,所以它们也都会被缓存到 cdn 服务器,造成 cdn 流量非常大。
所以你可能会有不缓存 audio 和 video 的需求。那该怎么办呢?
我是调查了好几天,才找到这个解决方案的,贡献给大家。还是编辑 src/config.php :
PHP:
$config['javaScriptUrl'] = 'https://cdn.domain.com/js';
$config['externalDataUrl'] = function($externalPath, $canonical)
{
if (preg_match('#^(audio|video)/#', $externalPath))
{
return 'data/' . $externalPath;
}
return 'https://cdn.domain.com/data/' . $externalPath;
};
这个写法用处非常大,包括使用多个 cdn 服务器等等,都可以在这个函数里处理,这里不细说。
打赏用户
