0

我想为我的静态资产添加一个修订号,以便在更新它们时浏览器会刷新它们 -如何在代码部署后强制浏览器重新加载静态资产?

如果没有修订查询字符串,我可以在“varnishstat”中看到命中,通过它们,我看到它将请求传递到后端。

如何缓存带有修订的静态资产?

4

2 回答 2

0

将您的静态资产正则表达式更改为以下内容:

if (req.url ~ "\.(jpeg|jpg|png|gif|ico|swf|js|css)(\?.*|)$") {
  return (lookup);
}

它也将匹配修订。

于 2013-02-05T23:03:35.923 回答
0

这是一个奇怪的需求,但以下代码应该可以解决您的问题:

sub vcl_recv {
  set req.url = regsub(req.url, "(\.(jpeg|jpg|png|gif|ico|swf|js|css))\?.*$", "\1");
}

每次在后端更新资源时,您都需要清除清漆缓存(清除/禁止)。

于 2013-02-06T16:44:08.073 回答