Rails config.static_cache_control如何从缓存中排除文件

Gal*_*len 5 caching ruby-on-rails asset-pipeline

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

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

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

Tim*_*ins 5

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

不,public inconfig.static_cache_control不是指 rails public/ 目录。

事实上,整个字符串是Cache-Control在提供静态资产(包括资产/中的公共/和链轮编译资产)时用作标头的文字。

请参阅http://guides.rubyonrails.org/asset_pipeline.html#cdns-and-the-cache-control-header了解有关如何在 rails 和http://www.w3.org/Protocols 中使用 config.static_cache_control 的详细信息/rfc2616/rfc2616-sec14.html#sec14.9有关 Cache-Control 标头含义的 w3c 文档。