【问题标题】:Serve index.html without a redirect on 404 keeping url服务 index.html 没有重定向 404 保留 url
【发布时间】:2018-06-20 04:45:09
【问题描述】:

我正在使用 SPA,并且我的本地开发环境为任何 404 提供 index.html 文件。这样可以在加载应用程序时保持 URL 不变。我的应用程序路由选择 URL 并显示正确的页面。

我目前在 s3 中有 404 重定向到 index.html

当前行为

  • 导航到 www.example.com/clients
  • s3检测到404
  • 重定向到 www.example.com/index.html
  • SPA 看到端点是 /index.html 并且找不到页面

期望的行为

  • 导航到 www.example.com/clients
  • 检测404
  • 服务 index.html 无重定向
  • SPA 看到端点是 /clients 并显示客户端页面

我希望我可以在不需要运行服务器的情况下实现这一目标

【问题讨论】:

    标签: amazon-web-services amazon-s3 amazon-cloudfront


    【解决方案1】:

    如果您为索引文档和错误文档都配置了index.html 而没有配置重定向,那么:

    • www.example.com 的请求显示www.example.com/index.html 带有200 状态码,客户端看到www.example.com
    • www.example.com/sub1 的请求(已找到)显示www.example.com/sub1/index.html 带有200 状态代码,客户端看到www.example.com/sub1 没有重定向。
    • www.example.com/sub1 的请求(未找到)显示www.example.com/index.html 带有404 状态代码,客户端看到www.example.com/sub1 没有重定向。

    没有办法改变这种行为。如果您希望它与众不同,那么您需要使用自己的服务器。

    【讨论】:

    • 我没有这种行为。我得到:对 www.example.com 的请求显示带有 200 状态代码的 www.example.com/index.html,客户端看到 www.example.com/index.html。
    • 您的存储桶是否附加了任何重定向规则?
    • 是的,我愿意。也许我需要删除这些?
    • 它们很可能会影响存储桶的行为。您可能需要更改它们。
    • 哇,谢谢!删除重定向有效。我不知道这种行为是默认的
    猜你喜欢
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 1970-01-01
    • 2013-04-03
    • 2012-07-25
    • 2021-08-06
    • 2018-11-18
    • 1970-01-01
    相关资源
    最近更新 更多