0

我已经使用 React 建立了一个网站,现在正在使用 AWS-Amplify 来托管它。我正在尝试设置重定向到位于/public目录中的静态 HTML 文件的路由。当我在本地测试时一切正常,但是在站点部署后路由不起作用。

这就是我的路线。

<BrowserRouter>
    <Routes>
        .
        . // Other unrelated Routes here..
        .
        <Route path="/page1" render={() => {window.location.href="page1/index.html"}} />
        <Route path="/page2" render={() => {window.location.href="page2/index.html"}} />
        <Route path="/page3" render={() => {window.location.href="page3/index.html"}} />
    </Routes>
</BrowserRouter>

我的 200(重写)的重写和重定向设置当前是:

</^[^.]+$|\.(?!(html|css|gif|ico|jpg|jpeg|js|png|PNG|txt|svg|woff|ttf|map|json)$)([^.]+$)/>

每当我尝试从已部署的站点访问这些静态 HTML 文件时,控制台都不会给出任何警告或错误,但会加载一个空页面。我需要在 Amplify 应用程序上修改一些设置吗?谢谢!

4

1 回答 1

0

尝试删除您的 react-router 条目并在放大控制台中添加一些重写/重定向,例如:

/page1 /public/page1/index.html 200

/page2 /public/page2/index.html 200

这可能会给您一些关于使用重写/重定向的解决方案的想法。我自己使用过它,但不确定它的可维护性如何。

于 2022-01-04T01:34:23.023 回答