是否可以将多个路径分组以在 Netlify _header 配置中使用相同的 header?

Is it possible to group multiple paths to use the same header in Netlify _header config?

根据 Netlify docs for custom headers 我可以创建一个路径来使用自定义 headers

# use these headers for the /index.html file
/index.html
  Cache-Control: max-age=31536000, public

但是,我似乎无法弄清楚的是,我是否可以让多个路径使用相同的 header 而不必为每个路径创建一个新条目

/*.js
  Cache-Control: max-age=31536000, public

/*.css
  Cache-Control: max-age=31536000, public

我已经尝试了以下并且 none 有效

/*.js /*.css
  Cache-Control: max-age=31536000, public

/*.js
/*.css
  Cache-Control: max-age=31536000, public

/*.js, /*.css
  Cache-Control: max-age=31536000, public

免责声明:我为 Netlify 工作。

我们的 header 文件格式不是那么灵活 - 每个通配路径都需要一个规则(例如 /*.css)。一些有复杂需求的人以编程方式生成文件:

find . -name assets -type d -exec echo "{}/*.css:\n  Header: value" >> public/_headers

或类似的东西。

但是 - 操作缓存控制设置时要非常小心!我们非常谨慎地选择它们,如本文所述:

https://www.netlify.com/blog/2017/02/23/better-living-through-caching/

支持原子回滚和部署。

如果您更改它们,您将获得微不足道的性能提升,但可能会完全取消为 return 访问者更新这些文件的能力。假设您正在使用缓存清除或资产指纹 URL,以便那些 URL 在每次部署 and/or 内容更改时更改?

无论如何,这甚至不是解决该问题的最佳方法。我们的资产优化已经为您完成了所有这些工作:

  • 在我们的一个 CDN 上为您创建 asset-fingerprinted URL(这些资产将从云端加载,而不是您的自定义域)
  • 重写您内容中的引用 (css/js/html) 以指向这些资产
  • 带 year-long 缓存 headers

这是安全的,因为 URL 是 asset-fingerprinted - 内容的任何更改都会更改 URL。您可以在构建和部署设置页面底部附近激活它,它在所有帐户级别都是免费的。

我会写信给我们的支持团队以获得更多指导。如果您看到糟糕的性能或您正在尝试克服的问题 - 我们很乐意帮助您解决根本原因,而不是看到您可能因 long-lasting 不良影响而破坏您的网站。