我正在为我的所有资产设置长期过期标题。但是,在我的公共目录中有一些静态 HTML 文件(用于 Jekyll 博客),它们正在被缓存,并且在更新时没有缓存失效。实际上,它似乎只是我index.html
位于 中的主文件,app/public/blog
它一直被缓存在缓存中。
是否像更改配置中的“公共”一样简单?
config.static_cache_control = "public, max-age=604800"
我正在为我的所有资产设置长期过期标题。但是,在我的公共目录中有一些静态 HTML 文件(用于 Jekyll 博客),它们正在被缓存,并且在更新时没有缓存失效。实际上,它似乎只是我index.html
位于 中的主文件,app/public/blog
它一直被缓存在缓存中。
是否像更改配置中的“公共”一样简单?
config.static_cache_control = "public, max-age=604800"
我知道这是一个老问题,但我一直在寻找它,当我查找时(我一直在查找),所以这是答案:
不,public inconfig.static_cache_control
不是指 rails public/ 目录。
事实上,这整个字符串是Cache-Control
在提供静态资产时用作标头的文字(包括 assets/ 中的 public/ 和 sprockets 编译的资产)。
有关如何在 rails 和http://www.w3.org/Protocols中使用 config.static_cache_control 的详细信息,请参见http://guides.rubyonrails.org/asset_pipeline.html#cdns-and-the-cache-control-header /rfc2616/rfc2616-sec14.html#sec14.9用于关于 Cache-Control 标头含义的 w3c 文档。