我在项目中使用Flask资源来组合所有js和css文件。它工作得很好。
assets = Environment(app)
js = Bundle('js/jquery/jquery.js','js/owl.carousel.min.js',output='gen/packed.js')
assets.register('js_all', js)
css = Bundle('css/bootstrap.css','css/font-awesome.css','css/color.css',output='gen/packed.css')
assets.register('css_all', css)
现在我想在静态文件上设置过期天数。我检查了doc中的URL到期部分。但我很困惑。我希望将30天设置为过期。如何使用flask资产实现该目标。
答案 0 :(得分:0)
无法直接使用Flask资产执行此操作。它只是一个资产捆绑器,无法控制最终文件的服务。
但是我假设您在Nginx或Apache等Web服务器后运行您的应用程序(如果您不是 - you should be)。
使用其中一个设置到期时间在配置中很简单。
<强> Nginx的强>
location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
}
<强>的Apache 强> (取自this answer)
# enable the directives - assuming they're not enabled globally
ExpiresActive on
# send an Expires: header for each of these mimetypes (as defined by server)
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
# css may change a bit sometimes, so define shorter expiration
ExpiresByType text/css "access plus 1 days"