5

我正在为我的所有资产设置长期过期标题。但是,在我的公共目录中有一些静态 HTML 文件(用于 Jekyll 博客),它们正在被缓存,并且在更新时没有缓存失效。实际上,它似乎只是我index.html位于 中的主文件,app/public/blog它一直被缓存在缓存中。

是否像更改配置中的“公共”一样简单?

config.static_cache_control = "public, max-age=604800"

4

1 回答 1

5

我知道这是一个老问题,但我一直在寻找它,当我查找时(我一直在查找),所以这是答案:

不,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 文档。

于 2015-10-06T10:27:50.333 回答