javascript - 浏览器未缓存的 Symfony assteic 资源

标签 javascript php css symfony caching

我正在使用 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/

相关文章:

internet-explorer - CSS - border-radius 在 IE6/7/8 中不显示

javascript - map 闭包内未定义的“props”

javascript - 使用Javascript创建元素或纯文本时浏览器性能是否有差异

php - 将javascript(regex)函数转换为php

php - 在 PHP 中创建一个代理来欺骗 iPhone 用户代理?

javascript - HTML选择永久显示值?

html - 以 100% 的 html 和 body 重复背景渐变

javascript - ES6 组成。如何定义某种 setter/getter

javascript - CSS 动画和 Z-index

php - 查询或 PHP 中 mysql 的列总计?