1

我在我的项目中使用了 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)

现在我想在静态文件上设置过期天数。我检查了文档中的 URL 过期部分。但我很困惑。我想将 30 天设置为过期。我如何使用烧瓶资产实现该目标。

4

1 回答 1

0

无法直接使用 Flask 资产执行此操作。它只是一个资产捆绑器,不控制提供最终文件。

但是,我假设您在 Nginx 或 Apache 之类的 Web 服务器后面运行您的应用程序(如果您不是 -您应该是)。

在配置中使用其中之一设置到期时间很简单。

Nginx

location ~* \.(?:ico|css|js|gif|jpe?g|png)$ {
    expires 30d;
    add_header Pragma public;
    add_header Cache-Control "public";
}

阿帕奇 (取自这个答案

# 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"
于 2015-07-31T10:55:20.617 回答