Discuz! X 更新主题封面图片后自动刷新CDN服务器上缓存

来自版块 Discuz教程
413
0
温馨提示:如下载链接失效,请前往 问题反馈专用帖 进行反馈! 兔源码交流群:493651246
应用场景:后台“上传设置 - 本地附件 URL 地址”处为域名,该域名已启用CDN,通过请求 $host/purge/$uri 的方式刷新缓存。
打开 source/function/function_post.php 文件,
查找:
  1.                 $image = new image();
复制代码

在其下方增加:

  1.                 $isupdate = file_exists($basedir.'./forum/'.$coverdir.$tid.'.jpg') ? 1 : 0;
复制代码

这一步是为了判断是否已经设置过封面,下一步中将通过此变量决定是否请求刷新缓存。
查找:
  1.                         $cover = $remote.$cover;
复制代码

在其下方增加:
  1.                         if($aid && $isupdate) {
  2.                                 preg_match_all('/^http(s)?:\/\/(.*?)\//', $_G['setting'][attachurl], $attachDomain);
  3.                                 if($attachDomain[0][0]) file_get_contents($attachDomain[0][0].'purge/shequ/forum/'.$coverdir.$tid.'.jpg');
  4.                         }
复制代码

当 $aid 存在(排除后台批量生成封面的情况)且 $isupdate 存在(即生成过封面)时,请求CDN服务器刷新缓存。注意CDN服务器上需要将网站服务器IP加入支持刷新缓存的IP列表。

全部评论 0

您需要登录后才可以回帖 立即登录
输入你要评论的内容......
0
0
0
返回顶部