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

问题描述 投票:0回答:1

我有一个用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中的某些内容?

angular amazon-web-services amazon-s3 http-status-code-404 single-page-application
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.