我正在使用 Assets 管理器来提供我的 css 和 js 文件,但是浏览器在每个页面请求时加载它们,而不是在本地缓存它们。我在获取 css/js 文件时检查了 Last-Modified 响应 header ,它与请求的时间相同,我认为这就是为什么它返回完整文件的原因是 200 响应而不是 304。
我正在使用具有以下配置的生产环境:
assetic:
debug: "%kernel.debug%"
use_controller: false
filters:
cssrewrite: ~
lessphp:
apply_to: "\.less$"
formatter: "compressed"
preserve_comments: false
我怎样才能让 Symfony 发送创建的 Assets 文件的最后修改时间,以便它缓存在浏览器中?
最佳答案
Assetic 或 Symfony 不会为任何 Assets 文件设置任何 Last-Modified 缓存 header 。 Assetic 只是生成任何需要的 css/js 文件并修改使用它们的任何链接,然后它们像任何其他静态文件一样由 Web 服务器提供。您应该查看您的 Web 服务器配置以了解如何为静态文件设置 Last-Modified header 。
关于javascript - 浏览器未缓存的 Symfony assteic 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33077437/