W3总缓存 - Json过期标头

时间:2015-01-02 20:06:25

标签: json angularjs wordpress .htaccess caching

我需要为json文件设置一个特定的expire头,远远低于其他文件。我可以在W3TV中这样做吗?我找不到办法。

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

有没有办法让W3 TC为json文件使用较低的expire头?或者手动输入一个未被W3TC覆盖的值?

我提出的唯一想法是重写.htaccess底部的json过期标题规则,但我不知道这是否会阻止W3TC编辑或删除它。而且,在乞讨时,重复的规则接缝是完全错误的。

或者有没有办法告诉Angular重新下载json文件,即使缓存标头告诉它保持一年?

您怎么看?

谢谢! FG

2 个答案:

答案 0 :(得分:2)

在URL的末尾添加随机属性以获取JSON文件。这就是jQuery确保缓存不用于JSON请求的方法。

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

答案 1 :(得分:0)

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