如何强制CloudFront缓存静态文件?WordPress缓存配置求助
修复CloudFront缓存TTL未设置的问题
一、W3 Total Cache 配置调整
- 进入W3 Total Cache的CDN设置页
- 在「General」标签下,确认「CDN Type」已选Amazon CloudFront,且正确关联你的CloudFront分配ID
- 切换到「Advanced」标签:
- 「Cache Control Policy」选择「Custom」,针对不同资源设置TTL:
- 静态资源(CSS、JS、图片)设长TTL,比如
86400秒(1天)或604800秒(7天) - 动态HTML内容设较短TTL,比如
3600秒(1小时)
- 静态资源(CSS、JS、图片)设长TTL,比如
- 勾选「Set cache control header」,确保插件给资源添加正确的Cache-Control响应头
- 保存设置后,点击「Purge All Caches」清空现有缓存
- 「Cache Control Policy」选择「Custom」,针对不同资源设置TTL:
二、CloudFront 缓存行为配置
打开你的CloudFront分配的缓存行为设置:
- 找到默认路径
*的缓存行为并编辑 - 在「Cache key and origin requests」部分:
- 选择「Cache policy and origin request policy」,静态资源直接用官方的Managed-CachingOptimized策略(默认TTL为86400秒);需自定义则新建缓存策略,填入「Minimum TTL」「Maximum TTL」「Default TTL」的目标值
- 「Origin Request Policy」选Managed-CORS-S3Origin(适配多数站点需求),避免缓存冲突
- 若用旧版设置,直接在「Default TTL」「Minimum TTL」「Maximum TTL」字段填入对应秒数,比如静态资源填
86400 - 保存配置后,等待5-15分钟让CloudFront生效
验证配置
用GTMetrix重新测试,或通过浏览器开发者工具查看资源响应头:
- 检查
Cache-Control和Age字段,确认资源已带正确TTL值,且CloudFront正在缓存资源
内容的提问来源于stack exchange,提问作者Sanjay Goswami
相关产品推荐
相关产品推荐

