• 欢迎 游客 您的光临,下载之前请先阅读 积分规则 。任何技术问题请在论坛提问,本站定制插件、模板主题。售前、售后问题请联系QQ:5916171
    本站自由发布资源可赚取积分及人民币(可提现)(保证资源真实可用,如被举报封号处理。谨慎分布)。
  • 即日起发表主题、回帖、发布&更新资源、创建&回复私信、发布&回复个人动态均需要验证手机号码,其它不受影响。如不便可进群提问。点击链接加入群聊【XenForo讨论社区】:群号1:143277648

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

UID
58
注册
2017/12/04
消息
2
黄金
1,151G
  • #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 服务器等等,都可以在这个函数里处理,这里不细说。
 
打赏用户
死了算了
后退
顶部 底部