Angular单页应用程序可以正常工作,但是在击中除主页面之外的任何页面时返回404

时间:2019-03-21 03:14:47

标签: angular amazon-web-services amazon-s3 http-status-code-404 single-page-application

我有一个用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中有东西?

1 个答案:

答案 0 :(得分:0)

我在类似的情况下遇到了同样的问题,并且能够通过创建index.html文件的副本并将其命名为 404.html

来解决该问题。