是否可能仅针对像图片、字体、CSS和JS等静态资源进行缓存控制?
下面是我的解决方案。
[[headers]]
for = "/*" # This defines which paths this specific [[headers]] block will cover.
[headers.values]
Cache-Control = "public, max-age=604800"
它基本上可以使用,但不如我所预期。即使我更新内容,该网站似乎仍在使用旧版本。
是否可能仅针对像图片、字体、CSS和JS等静态资源进行缓存控制?
下面是我的解决方案。
[[headers]]
for = "/*" # This defines which paths this specific [[headers]] block will cover.
[headers.values]
Cache-Control = "public, max-age=604800"
它基本上可以使用,但不如我所预期。即使我更新内容,该网站似乎仍在使用旧版本。
你现在已经说过,浏览器应该缓存每一个文件,包括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有意将缓存设置为最大寿命为0,但仍允许内容被缓存并启用原子回滚和部署。这里是相关细节:https://www.netlify.com/blog/2017/02/23/better-living-through-caching/