W3 总缓存 - Json 过期 header

W3 Total Cache - Json expire header

我需要设置一个特定的过期 header 到 json 的文件,比其他文件低得多。我可以在 W3TV 中执行此操作吗?我找不到方法。

对于所有其他文件类型,默认值 31536000 秒都可以。但是我使用 JSON REST API 将数据传送到 AngularJS+Cordova 应用程序,并且遇到内容未更新的问题。当我们手动配置 300 秒时,我们发现这是 json 过期 header,问题是 W3 TC 不断覆盖此更改。

有没有办法告诉 W3 TC 对 json 文件使用较低的过期时间 header?或者手动输入未被 W3TC 覆盖的值的方法?

我唯一的想法是重写.htaccess 底部的json expire header 规则,但我不知道这是否会阻止W3TC编辑或删除它。此外,重复的规则接缝从乞讨中完全错误。

或者有什么方法可以告诉 Angular 重新下载 json 文件,即使缓存 header 告诉它保留一年?

你怎么看?

谢谢! FG

在URL末尾随机添加一个属性来获取JSON文件。这就是 jQuery 所做的,以确保缓存不被用于 JSON 请求。

假设您的文件 URL 是 http://example.com/myfile.json,那么您将第一次使用 http://example.com/myfile.json?__random=1 获取它,第二次使用 http://example.com/myfile.json?__random=2 等等。当然您应该使用完全随机数而不是 1、2 等

W3TC 提供 3 组 header 策略来管理用户代理(浏览器)缓存。浏览器缓存设置页面上的第三组有一个 "Other" 部分,其中可用的 headers 将应用于来自 WP 的 json 响应,除非存在阻止此行为的错误或实现从发生。 W3TC 为 nginx 或 apache 网络服务器设置指令以应用此页面上指定的 headers,并且有可能无法应用此策略的方法,但意图如所示。