【问题标题】:react-router browserHistory doesn't work on Apache serverreact-router browserHistory 在 Apache 服务器上不起作用
【发布时间】:2016-12-05 23:26:29
【问题描述】:

我有一个 HTML 单页应用程序,我正在尝试使用反应路由器的 browserHistory,但没有成功。在本地开发服务器上一切正常,在使用 hashHistory 时也在 prod 中运行。

到目前为止,我已经尝试过阅读的所有内容:

  • .htaccess 来自官方文档的更新(这似乎没有任何作用)。谁能确认这行得通?
  • createBrowserHistory(有和没有 webpack 插件)

这是 Apache 服务器的已知限制吗?任何帮助将不胜感激。

【问题讨论】:

    标签: html apache .htaccess react-router


    【解决方案1】:

    我想我找到了解决方案。我更改了路径和链接以包含“./”。我必须为bundle.js 脚本做同样的事情。不确定这是否是 Apache 服务器独有的东西,但 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 指令中:Options +FollowSymLinks
    • 谢谢,我可以试试。我发现如果文件位于根目录中,它可以正常工作(如路由器文档中的文档),所以我将它们保留在那里(现在不需要子文件夹)。当您使用 FollowSymLinks 时,您会保留带句点或不带句点的路径吗?
    • 我使用带句点的路径。
    猜你喜欢
    • 2017-03-12
    • 2017-09-23
    • 2016-08-19
    • 2016-04-28
    • 2018-06-12
    • 2017-08-31
    相关资源
    最近更新 更多