2016-07-31 86 views
2

我有一个HTML单页面应用程序,我试图使用react路由器的browserHistory,但没有成功。一切工作正常在本地开发服务器,并在使用hashHistory时生产。react-router browserHistory无法在Apache服务器上工作

事情我必须从一切到目前为止我读过的尝试:

  • 的.htaccess从官方文档更新(这似乎并没有做任何事情)。任何人都可以证实这一点吗?
  • createBrowserHistory(有和没有的WebPack插件)

那是为Apache服务器的一个已知的限制?任何帮助都感激不尽。

回答

1

我想我找到了解决方案。我改变了路径和链接以包含'./'。我必须为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> 

如果有人可以解释为什么这可能是必要的或有不同的修复,将不胜感激。谢谢!

+0

我试过这样,但它并没有帮助我。什么修复它给我的是添加以下到Apache指令: 选项+ FollowSymLinks –

+0

谢谢,我可以尝试。我发现它工作正常(如路由器文档中的文档),如果这些文件在根目录中,所以我将它们保留在那里(现在不需要子文件夹)。 当您使用FollowSymLinks时,您是否保留带或不带周期的路径? – quietbits

+0

我使用带句点的路径。 –

相关问题