我的React应用程序托管在www.mywebsite.com/myreact
当我定义路线时,我做过类似的事情:
<Router history={history}>
<Route path="/" component={App} />
<Route path="login" component={Login} />
</Route>
</Router>
尽管如此,它一直抱怨路线中没有定义/myreact
。
当我定义它时,那样:
<Route path="/myreact" component={App} />
我试图访问URL www.mywebsite.com/myreact/login
,浏览器抛出404错误。
但我可以正确访问www.mywebsite.com/myreact
。
我该怎么办?
感谢。
答案 0 :(得分:2)
您应该能够为应用的“根”网址创建一个具有不同基本名称的自定义history
对象。创建历史记录对象时使用useRouterHistory
增强功能
https://github.com/reactjs/react-router/blob/master/docs/API.md#userouterhistorycreatehistory
中的一些相关评论import { createHistory } from 'history';
import { useRouterHistory } from 'react-router';
const browserHistory = useRouterHistory(createHistory)({
basename: '/myreact'
});
您的路线文件现在应该可以使用browserHistory
<Router history={browserHistory}>
<Route path="/" component={App} />
<Route path="login" component={Login} />
</Route>
</Router>