当我在 AWS Amplify 上重新加载我的 React 应用程序时出现“访问被拒绝”错误
我正在开发一个在 AWS Amplify 上运行的 React 应用程序。我的 React 应用程序使用 react-router-dom 库来路由到不同的组件。在 CLI 中运行 amplify publish 后,在应用程序的根目录 (obktraining.com) 中,浏览器中一切正常,我也可以正常路由到应用程序中的其他组件。但是当我在路由 (obktraining.com/menu) 上刷新浏览器时,我收到“访问被拒绝”错误消息。
我发现了其他有关 Amplify 中重写和重定向的类似问题的帖子,但给出的解决方案对我不起作用。
同样,只有当我在路线(obktraining.com/menu 或 obktraining.com/drinks)上刷新时才会显示错误,而不是在 obktraining.com 上。问题是由 react-router-dom 库引起的,还是 Amplify 设置的问题?我不确定接下来该怎么做。
几天来我一直遇到同样的错误。错误是由放大设置引起的。解决方案很简单, 通过添加新规则编辑您的重写和重定向。
源地址 = </^[^.]+$|.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf|map|json)$)([^.]+$)/>
目标地址 = /index.html
状态 = 200 (重写)
国家代码可以留空
保存并尝试再次刷新您的应用。它应该可以工作。
您可以从 AWS Amplify 控制台导航到应用程序中的“重写和重定向”,然后单击“编辑”并选择“打开文本编辑器”,然后将此代码添加到数组中(如果存在),否则将数组括号括起来。
{
"source": "</^[^.]+$|\\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|ttf)$)([^.]+$)/>",
"target": "/index.html",
"status": "200",
"condition": null
}