我正在使用 S3 托管一个将使用 HTML5 PushStates 的 JavaScript 应用程序。问题是,如果用户为任何 URL 添加书签,它就不会解析为任何内容。我需要的是能够接受所有 url 请求并在我的 S3 存储桶中提供根 index.html,而不仅仅是执行完整重定向。然后我的 JavaScript 应用程序可以解析 URL 并提供正确的页面。
有没有办法告诉 S3 为所有 URL 请求提供 index.html,而不是进行重定向?这类似于设置 apache 通过提供单个 index.html 来处理所有传入请求,如本例所示:https://stackoverflow.com/a/10647521/1762614。我真的很想避免仅仅为了处理这些路由而运行网络服务器。从 S3 开始做所有事情都非常有吸引力。
在 CloudFront 的帮助下,无需 URL hack 即可轻松解决该问题。