We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent f3446f7 commit 6cef6eeCopy full SHA for 6cef6ee
1 file changed
website/public/_headers
@@ -1,11 +1,16 @@
1
# Cloudflare Pages 缓存头。public/ 下的文件会被复制到 dist 根,CF Pages 读取本文件。
2
#
3
+# 匹配规则:同一请求命中多条规则时,靠后的规则覆盖靠前的同名 header,
4
+# 所以先写兜底的 /*,再写更具体的 /assets/*。
5
+
6
+# 兜底:SPA 的所有 HTML 路由(/、/sponsors、/en/... 等实际访问路径都不是 /index.html)
7
+# 一律不做边缘长缓存,否则新部署后用户会拿到引用旧资源的过期 HTML(2026-07-07 缓存
8
+# 污染事故的根源之一)。
9
+/*
10
+ Cache-Control: public, max-age=0, must-revalidate
11
12
# Vite 输出的 /assets/* 是内容哈希文件名(内容变 → 文件名变),可安全永久缓存。
13
# 默认 CF Browser Cache TTL 只给 4h,导致同一文件反复回源、缓存命中率低(触发 CF 的
14
# 「源流量超必需 / Smart Shield」提示)。设为 1 年 immutable 从根本上提高命中率、减少回源。
15
/assets/*
16
Cache-Control: public, max-age=31536000, immutable
-
-# index.html 等入口保持可重验证,确保新部署能及时被用户拿到(不要长缓存 HTML)。
-/index.html
- Cache-Control: public, max-age=0, must-revalidate
0 commit comments