老张小站

  1. 欢迎光临

    感谢访问老张的博客!

  • 1
902

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

分类 网站技术/村民张先生 发布于 2020-02-18 03:19
0

应用场景:后台“上传设置 - 本地附件 URL 地址”处为域名,该域名已启用CDN,通过请求 $host/purge/$uri 的方式刷新缓存。

打开 source/function/function_post.php 文件,

查找:

		$image = new image();

在其下方增加:

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

这一步是为了判断是否已经设置过封面,下一步中将通过此变量决定是否请求刷新缓存。

查找:

			$cover = $remote.$cover;

在其下方增加:

			if($aid && $isupdate) {
				preg_match_all('/^http(s)?:\/\/(.*?)\//', $_G['setting'][attachurl], $attachDomain);
				if($attachDomain[0][0]) file_get_contents($attachDomain[0][0].'purge/shequ/forum/'.$coverdir.$tid.'.jpg');
			}

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

欢迎转载分享,转载请注明 来源:大张小站 https://www.zhang.cq.cn/20202303.html
若您喜欢这篇文章,欢迎订阅老张小站以获得最新内容。 / 欢迎交流探讨,请发电子邮件至 mail[at]vdazhang.com 。


欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截