1

我正在使用 assets_sync gem 将我的资产上传到 s3 存储桶。在我的网站上运行 yslow 时,我会得到一个没有过期标题的图像列表。现在我可以手动设置这些,但是当你有大量图像时,可能需要一段时间..

在运行 rake assets:precompile 例如自动设置过期时间?assets_sync 配置中是否有任何内容允许我们这样做?

谢谢

4

1 回答 1

4

好的,所以我会回答这个问题。asset_sync 将为所有已压缩的资产设置 cache_control 和到期日期。我注意到,如果某些资产是从 css 文件(背景图像)中渲染的,那么这些图像不会被给予任何缓存或过期。

因此,在您的asset_sync.rb 文件中,您可以像这样设置自定义标头

config.custom_headers = { '.*' => { cache_control: 'max-age=315576000', expires: 1.year.from_now.httpdate } }

随意更改正则表达式以匹配您的文件并更改 cache_control 和到期日期。

非常感谢Benjamin Darfler向我指出这一点

于 2014-02-25T08:24:47.077 回答