react-router browserHistory无法在Apache服务器上工作
问题描述:
我有一个HTML单页面应用程序,我试图使用react路由器的browserHistory,但没有成功。一切工作正常在本地开发服务器,并在使用hashHistory时生产。react-router browserHistory无法在Apache服务器上工作
事情我必须从一切到目前为止我读过的尝试:
- 的.htaccess从官方文档更新(这似乎并没有做任何事情)。任何人都可以证实这一点吗?
- createBrowserHistory(有和没有的WebPack插件)
那是为Apache服务器的一个已知的限制?任何帮助都感激不尽。
答
我想我找到了解决方案。我改变了路径和链接以包含'./'。我必须为bundle.js
脚本执行相同的操作。不知道这是否是Apache服务器的uniq,但现在browserHistory对我来说工作正常。
您也不需要为此添加任何.htaccess配置以这种方式工作。
我会注意到我的测试文件夹不在服务器上的根文件夹中,也许这很重要。
的路由器
工作示例代码<Router history={browserHistory}>
<Route path="./" component={Intro}/>
<Route path="./news" component={News}/>
<Route path="./about" component={About}/>
</Router>
和链接
<Link to="./">Intro</Link>
<Link to="./news">News</Link>
<Link to="./about">About</Link>
如果有人可以解释为什么这可能是必要的或有不同的修复,将不胜感激。谢谢!
我试过这样,但它并没有帮助我。什么修复它给我的是添加以下到Apache指令: 选项+ FollowSymLinks –
谢谢,我可以尝试。我发现它工作正常(如路由器文档中的文档),如果这些文件在根目录中,所以我将它们保留在那里(现在不需要子文件夹)。 当您使用FollowSymLinks时,您是否保留带或不带周期的路径? – quietbits
我使用带句点的路径。 –