我正在使用asset_sync gem将我的资产上传到s3存储桶。当我在我的网站上运行yslow时,我得到一个没有过期标题的图像列表。现在我可以手动设置这些图像但是如果你有大量的图像可能需要一段时间......
无论如何在运行rake资产时设置到期时间:例如自动编译预编译? asset_sync配置中有什么允许我们这样做的吗?
由于
答案 0 :(得分:4)
好的,我将回答这个问题.. asset_sync将在已经gzip压缩的所有资产上设置cache_control和到期日期。我注意到,如果某些资产是从css文件(背景图像)中呈现的,那么这些图像不会被给予任何缓存或到期。
因此,在您的asset_sync.rb文件中,您可以像这样设置自定义标题
config.custom_headers = { '.*' => { cache_control: 'max-age=315576000', expires: 1.year.from_now.httpdate } }
随意更改正则表达式以匹配您的文件并更改cache_control和到期日期。
非常感谢Benjamin Darfler向我指出