我做了路由
render(
<Provider store={store}>
<Router history={browserHistory }>
<Route path='/MyAppName' component={TopContainer}>
<IndexRoute component={Login} />
<Route path='/main' component={MainRouteContainer} />
<Route path='/popup' component={StackViewContainer} />
</Route>
</Router>
</Provider>,
document.getElementById('root')
)
我有一个apache http目录
/var/www/html
由于还有其他网络应用,所以我需要一个子目录
/var/www/html/MyAppName
上面目录中的文件是index.html和bundle.js。
如果我使用
访问它,上面的路由代码工作正常http://www...com/MyAppName
问题是一次&#34; / main&#34;访问,地址字段中的URL变为 http://www...com/MyAppName/main
此时,页面上的重新加载将导致找不到&#34;页面#34;因为没有&#34;主要&#34;在MyAppName下(仅限bundle.js)。
有什么建议吗?
感谢
答案 0 :(得分:1)
您可以将basename
属性添加到Router
标记
<Router history={browserHistory} basename="/subdirectory/path">
或使用HashRouter
中的react-router-dom
。使用hashRouter,您不需要basename attribute
<HashRouter>