如何在Apache环境中配置304协商缓存?
美国、香港服务器
如何在Apache环境中配置304协商缓存?
04-03 来源:
在宝塔的 Apache 环境下,开启 304 协商缓存非常简单,只需要在伪静态里加一段规则即可,不用改主配置。
我给你直接能用、不会出错的配置,复制粘贴就生效。
一、宝塔 Apache 开启 304 协商缓存步骤
进入宝塔面板
网站 → 你的站点 → 设置
点击左侧 伪静态
把下面代码粘贴进去,保存即可
apache
# 开启 ETag(用于304校验)
FileETag MTime Size
# 静态资源:缓存30天 + 304协商
Header set Cache-Control "public, max-age=2592000, no-cache"
# HTML/PHP 动态页面:只走304,不强缓存
Header set Cache-Control "public, no-cache, must-revalidate"
Header set Expires "Thu, 01 Jan 1970 00:00:00 GMT"
保存后,重启一下 Apache:
软件商店 → Apache → 重启
二、关键说明(你只要知道这个)
no-cache = 必须走 304 校验,不是不缓存
max-age=2592000 = 缓存 30 天
FileETag MTime Size = 自动生成 ETag,实现 304
Apache 默认已经开启 Last-Modified,不用额外配置
三、验证是否生效(浏览器 F12)
按 F12 → Network
刷新页面
看静态文件(css/js/png 等)
第一次:200 OK
第二次刷新:304 Not Modified
响应头里能看到:
ETag: "xxxx..."
Last-Modified: ...
Cache-Control: ... no-cache
出现这些就说明 304 协商缓存已经正常工作。
四、如果你用了 CDN
记得在 CDN 里:
不要过滤 ETag、Last-Modified
静态文件缓存 30 天
不要开启 “强制缓存”
这样 304 才能正常生效。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快