React Router Dom问题在构建,我总是得到我的主页.我已经试过了



我使用create-react-app创建了我的应用程序,安装了react-router-dom,在开发过程中运行良好。但是当我建造的时候,我无法导航。我总是得到我的主页()。我把它上传到apache服务器。

这是我的。htaccess:
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]

这是BrowserRouter:

<BrowserRouter>
<GlobalStyle/>
<NavBar/>
<Switch>
<Route path="/agente/:dni">
<Landing/>
</Route>
<Route path="/">
<ErrorPage/>
</Route>
</Switch>
<Footer/>
</BrowserRouter>

我的主页是"https://******/agenda-landing"Agenda-landing是构建产品所在的文件夹。

更新:

我现在尝试使用HashRouter,它工作了。但是我不喜欢在URL中有一个"#",所以,有什么建议使它与BrowserRouter一起工作吗?

您可以检查路由器的basenameprop。

:

所有位置的基础URL。如果你的应用是从服务器上的子目录,您需要将其设置为子目录。格式正确的基名应该有一个前导斜杠,但不能尾随斜杠

<BrowserRouter basename="/calendar">
<Link to="/today"/> // renders <a href="/calendar/today">
<Link to="/tomorrow"/> // renders <a href="/calendar/tomorrow">
...
</BrowserRouter>
<GlobalStyle/>
<BrowserRouter basename="/agenda-landing"> // <-- add router basename
<NavBar/>
<Switch>
<Route path="/agente/:dni">
<Landing/>
</Route>
<Route path="/">
<ErrorPage/>
</Route>
</Switch>
<Footer/>
</BrowserRouter>

相关内容

  • 没有找到相关文章