caching - Yii2 Assets 包 : How to set headers?

标签 caching http-headers assets yii2

我正在使用 yii2 的 Assets 包。但我没有找到影响每个文件(css 和 js)的 http header 的方法。例如我想设置缓存。 对于 Controller ,我这样做:

'class' => 'yii\filters\HttpCache', 
            'only' => ['index', 'view'],
            'cacheControlHeader' => 'public, max-age=3600',
            'lastModified' => function ($action, $params) {
                $q = new \yii\db\Query();
                return $q->from('user')->max('updated_at');
            },

但是如何为 Assets / Assets 包做到这一点?

最佳答案

你真的不能那样做。

您的 CSS 和 JS 文件由您的网络服务器(无论您使用哪个)提供服务。 Assets 和 bundle 是一种机制,它从 Web 服务器无法访问的文件夹(例如 /assets/ )中获取文件,并将它们放入 Web 服务器可访问的文件夹中,例如 /web/assets/xxxxxxx ,然后通过 http://<your_domain>/assets/xxxxxxx 可见.

这些文件是直接提供的,没有 Yii 的任何参与。因此,如果您需要特定的 header (用于缓存控制或任何其他原因),您的 Web 服务器配置就是应该完成的地方。

关于caching - Yii2 Assets 包 : How to set headers?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28239762/

相关文章:

java - 在桌面 Java 应用程序中缓存 facebook 图像时理解 x-* header

caching - 如何缓存 Google map 图 block 以供离线使用?

java - request-filter-servlet-jsp 链中的响应

asp.net-mvc - 使用 ASP.NET MVC 支持 "Expect: 100-continue" header

android - 在磨损服务中调用 blockingConnect 时出现 IllegalStateException

ios - iPhone 6 plus 的@3x Assets 可以有奇数像素吗?即 248 x 171 像素

animation - 在Haxe/OpenFL应用程序中使用SWF动画

postgresql - 尽管有索引,网页加载缓慢 ajax 查询的检索时间太长

spring - 使用 Spring beans 作为带有 @Cacheable 注释的键

python - 扭曲的位置标题重定向