我有一个用Angular编写的单页Web应用程序。
当我使用ng serve
在本地计算机上运行它时,它可以正常工作。
在将其部署到AWS S3中的存储桶时,除主页之外的所有页面均返回404错误。换句话说,尝试直接加载任何路由时都会发生404错误。
例如,/
返回200 OK
,但是/terms
,/register?lang=en
,/store
-所有这些实际上都加载相同的单页应用程序-返回404 Not Found
。
尽管错误代码是404,但HTML仍正确返回,并且大多数用户可以正确看到所有页面。
但是,当HTTP状态代码为404而不是200时,某些测试工具和某些移动浏览器似乎不起作用。
响应头包括:
x-amz-error-code →NoSuchKey
x-amz-error-message →The specified key does not exist.
x-amz-error-detail-Key →register
哪些配置可能会导致此错误?应用程序中有东西还是AWS中有东西?
答案 0 :(得分:0)
我在类似的情况下遇到了同样的问题,并且能够通过创建index.html文件的副本并将其命名为 404.html
来解决该问题。