如何在Apache环境中配置304协商缓存的缓存时间为永久?
美国、香港服务器
如何在Apache环境中配置304协商缓存的缓存时间为永久?
04-07 来源:
304 协商缓存 + 缓存时间:永久(10 年)
一、直接复制粘贴的配置(永久缓存)
进入:宝塔 → 网站 → 你的站点 → 设置 → 伪静态
粘贴这段:
apache
# 开启ETag,用于304校验
FileETag MTime Size
# 静态资源:永久缓存(10年)+ 304协商
Header set Cache-Control "public, max-age=315360000, no-cache"
# 动态页面:不做强缓存,只走304
Header set Cache-Control "public, no-cache, must-revalidate"
Header set Expires "Thu, 01 Jan 1970 00:00:00 GMT"
保存 → 重启 Apache → 完成!
二、关键说明
max-age=315360000 = 10 年(行业标准的 “永久缓存”)
no-cache = 10 年后自动走 304 协商缓存
永久缓存 = 10 年,没有真正意义上的无限永久,这是 HTTP 标准
三、重要提醒(必须看)
静态资源设置永久缓存后,如果你修改了文件,用户不会自动更新!
解决方法(任选一种):
加版本号
style.css?v=2
改文件名
style.abc123.css
CDN 刷新缓存
这样才能让用户拿到最新文件。
四、验证是否生效
F12 → Network看静态文件响应头:
plaintext
Cache-Control: public, max-age=315360000, no-cache
ETag: "xxxx"
Last-Modified: xxxx
出现这些就代表 永久缓存 + 304 协商 已生效 .
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快