wordpress - 在 apache 中缓存版本控制的 CSS 文件
问题描述
我看过很多关于如何使用 mod_expire 成功控制 css 和其他静态文件的缓存的帖子。
然而,我们的应用程序使用版本作为查询字符串来破坏过时 css 的缓存,例如 stylesheet.css?v=2.1
我根据需要进行了所有配置并重新启动了应用程序,但我仍然看到浏览器正在尝试从服务器获取 css。我没有看到这些文件类型的 304。
我什至尝试更改 vhost 文件中的文件模式以匹配它:(但仍然没有 304。
有什么我想念的吗?
编辑
<IfModule mod_expires.c>
<FilesMatch "\.(jpe?g|png|gif|js|css)$">
ExpiresActive On
ExpiresDefault "access plus 30 day"
</FilesMatch>
这是在 vhost 文件中。
我还尝试将正则表达式模式替换为 \.(jpe?g|png|gif|js|css).*
我知道我会打破未来的版本,但我不得不尝试一下。
其中一个 CSS 的 http 标头是
accept-ranges: bytes
access-control-allow-origin: *
cache-control: max-age=2592000
content-length: 2572
content-type: text/css
date: Sat, 06 Mar 2021 04:13:26 GMT
etag: "a0c-5bc3f3f07f180"
expires: Mon, 05 Apr 2021 04:13:26 GMT
last-modified: Fri, 26 Feb 2021 15:51:50 GMT
server: Apache/2.4.46 (Amazon) PHP/7.2.34
我看到设置了到期,但有趣的是状态码是 200,不应该是 304 吗?
解决方案
推荐阅读
- python-3.x - Python Selenium 无法在 Azure 管道中运行
- jquery - jQuery kendo grid 如何为图标编辑、更新、取消、删除添加工具提示
- vue.js - 无法使用 Vue-Router 获取 URL 中的参数
- android - 如何从 Playstore 获取自适应高分辨率图标源?
- visual-studio - Visual Studio 2019 未发布 CSHTML 文件
- python - django Queryset filter(a__b__c=d): 获取 b 用于进一步过滤
- spring-boot - java.lang.IllegalStateException:之前查找 Docker 环境的尝试失败。不会重试。请查看日志并检查配置
- javascript - 在 JavaScript 中提交表单时动态导入模块
- python - python:日期必须是该月的第一周和第三周
- electron - 如何在 Electron 中安全地包含 C++ SDK