• 欢迎 游客 您的光临,下载之前请先阅读 积分规则(暂行) 。任何技术问题请在论坛提问,本站定制插件、模板主题售前、售后问题请联系QQ:5916171

技巧教程 xenforo 的 CDN 精准配置技巧

UID
58
注册
2017/12/04
消息
2
点数
3
黄金
1,201G
  • #1
首先你需要准备好 cdn 域名和服务器,比方说你使用 cdn.domain.com 作为 cdn 域名。这里不细说。

然后,在 xenforo 开启 cdn 非常简单,只要编辑 src/config.php ,加入如下内容:
PHP:
$config['javaScriptUrl'] = 'https://cdn.domain.com/js';
$config['externalDataUrl'] = 'https://cdn.domain.com/data';
这样,data 和 js 目录下的所有静态文件都会被缓存到 cdn 服务器。

如果你的论坛流量很大,附件中的音频和视频很多,由于 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 服务器等等,都可以在这个函数里处理,这里不细说。
 
打赏用户
死了算了
顶部 底部