首页 > 解决方案 > AWS Amplify ReactJS 应用程序问题重新加载页面

问题描述

我目前正在开发一个主要使用 ReactJS 和 AWS Amplify 的全栈项目。我已经成功部署了网站,但 URL 路由似乎只有在我从主页重定向时才有效。我只能加载主页www.website.com但我尝试手动输入www.website.com/login/,它给了我这个消息

<Error>
  <Code>AccessDenied</Code>

  <Message>Access Denied</Message>

  <RequestId>B2173BDEE0658858</RequestId>

  <HostId>
  TRevHdaqGZYTUxU9W1wXc3CQccfLeznHlYLcbuF+Wr511FVmOPFBp4tpyccJ2t5QMVpvYygNNb4=
  </HostId>
</Error>

我从其他 StackOverflow 页面查找了解决方案,但似乎并没有解决问题。

我尝试在提供的 AWS 控制台中添加重定向规则(在 AWS Amplify 上部署 React Web 应用程序时出现 403 ACCESS DENIED 错误),但问题仍然存在。有没有办法来解决这个问题?

标签: reactjsamazon-web-servicesaws-amplify

解决方案


您必须在 AWS Amplify 上设置 404(找不到页面)重定向以指向 index.html。

React App 是 SPA(单页应用程序),它有自己的路由,在 AWS 端,除了基本路径之外的所有其他路由都会返回 404,因为它们在服务器端不存在。

一旦你再次设置 404 到你的 React 应用程序上的点,React 路由器将处理路由。

检查:docs.aws.amazon.com/amplify/latest/userguide/redirects.html 并注意 404 重定向。

在此处输入图像描述


推荐阅读