我需要为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
答案 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服务器的指令以应用此页面上指定的标头,并且有可能无法应用此策略,但意图如所示。