Html 应用缓存&;404/500页

Html 应用缓存&;404/500页,html,http-status-code-404,html5-appcache,application-cache,Html,Http Status Code 404,Html5 Appcache,Application Cache,我有一份清单,看起来像这样: CACHE MANIFEST # e4a75fb378cb627a0d51a80c1cc5684c2d918d93e267f5854a511aa3c8db5b1a /a/application.js /a/application.css NETWORK: * FALLBACK: / /offline/redirect 问题是我的/404.html和/500.html页面(显然提供了404和500响应代码)正在触发回退。它们的行为就像服务器处于脱机状态一样 我的

我有一份清单,看起来像这样:

CACHE MANIFEST
# e4a75fb378cb627a0d51a80c1cc5684c2d918d93e267f5854a511aa3c8db5b1a
/a/application.js
/a/application.css

NETWORK:
*

FALLBACK:
/ /offline/redirect
问题是我的/404.html和/500.html页面(显然提供了404和500响应代码)正在触发回退。它们的行为就像服务器处于脱机状态一样

我的问题有两个:

  • 为什么/404.html会在/events没有触发回退时触发回退
  • 如何允许/404.html和/500.html在仍然允许/的情况下不触发回退
  • 触发它

    值得一提的是,我已经尝试过:

    NETWORK:
    *
    /404.html
    /500.html
    
    。。。但是,由于这些页面是使用非200响应代码提供的,因此会触发应用缓存错误回调,缓存不会保存

    谢谢

    什么对我有用:

    • 从网络声明中删除*
    • 重定向到/404.html(等),而不是就地渲染

    因此,使用上面的例子:
    /teams/1241231
    302重定向到
    /404.html
    ,它返回一个404状态代码。

    FWIW,它不仅仅是404和500页,它是任何返回400+响应代码的路由/方法/操作/任何东西。因此,类似于/teams/1241231的东西,其中“team”不存在,应该呈现一个404页,带有404代码——但它是由FALLBACK.Hi获取的。你最终找到解决办法了吗?我遇到了同样的问题:当我应该收到403时,获取作为响应的回退页面。“始终返回200”的建议解决方案对我来说不是一个解决方案。