【问题标题】:W3 Total Cache - Json expire headerW3 Total Cache - Json 过期标头
【发布时间】:2023-03-21 03:43:01
【问题描述】:

我需要为 json 文件设置一个特定的过期标头,远低于其他文件。我可以在 W3TV 中执行此操作吗?我找不到办法。

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

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

我想出的唯一想法是重写 .htaccess 底部的 json expire 标头规则,但我不知道这是否会阻止 W3TC 编辑或删除它。此外,重复规则接缝显然是错误的。

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

你怎么看?

谢谢! FG

【问题讨论】:

    标签: json angularjs wordpress .htaccess caching


    【解决方案1】:

    在 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 等。

    【讨论】:

    • 谢谢,去试试!
    【解决方案2】:

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

    【讨论】:

    • 谢谢弗雷德里克。我理解你所说的,它工作得很好,但我需要一种方法来只影响 json 的过期时间。无论如何,unobf 所说的 seam 是满足我需要的最佳方式
    猜你喜欢
    • 1970-01-01
    • 2013-03-14
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 2013-06-26
    • 2016-10-13
    • 1970-01-01
    相关资源
    最近更新 更多