Netlify Headers Cache Control for Static Assets

问题描述 投票:2回答:1

是否可以使用缓存控制但仅适用于静态资产,如图像,字体,CSS和js?

这是我的解决方法

[[headers]]
  for = "/*" # This defines which paths this specific [[headers]] block will cover.
  [headers.values]
    Cache-Control = "public, max-age=604800"

它几乎可以工作但不像我预期的那样。即使我更新内容,该网站似乎也使用旧版本。

http-headers cache-control netlify
1个回答
5
投票

您现在已经说过,浏览器应该为访问过您网站的所有人缓存每个文件,包括index.html。因此,您会看到您网站的旧版本。

这可能不是你想要的。更好的方法是创建几个标头规则,每种类型一个:

[[headers]]
  for = "*.js" # js files should be set this way
  [headers.values]
    Cache-Control = "public, max-age=604800"
[[headers]]
  for = "*.css" # css files too
  [headers.values]
    Cache-Control = "public, max-age=604800"

但是,您可能不想这样做。 Netlify非常有意地将缓存设置为max-age为0,但它确实允许缓存内容并启用原子回滚和部署。以下是有关的详细信息:https://www.netlify.com/blog/2017/02/23/better-living-through-caching/

© www.soinside.com 2019 - 2024. All rights reserved.