我想为我的静态资产添加一个修订号,以便在更新它们时浏览器会刷新它们 -如何在代码部署后强制浏览器重新加载静态资产?
如果没有修订查询字符串,我可以在“varnishstat”中看到命中,通过它们,我看到它将请求传递到后端。
如何缓存带有修订的静态资产?
我想为我的静态资产添加一个修订号,以便在更新它们时浏览器会刷新它们 -如何在代码部署后强制浏览器重新加载静态资产?
如果没有修订查询字符串,我可以在“varnishstat”中看到命中,通过它们,我看到它将请求传递到后端。
如何缓存带有修订的静态资产?
将您的静态资产正则表达式更改为以下内容:
if (req.url ~ "\.(jpeg|jpg|png|gif|ico|swf|js|css)(\?.*|)$") {
return (lookup);
}
它也将匹配修订。
这是一个奇怪的需求,但以下代码应该可以解决您的问题:
sub vcl_recv {
set req.url = regsub(req.url, "(\.(jpeg|jpg|png|gif|ico|swf|js|css))\?.*$", "\1");
}
每次在后端更新资源时,您都需要清除清漆缓存(清除/禁止)。