react-router browserHistory 在 Apache 服务器上不起作用
Posted
技术标签:
【中文标题】react-router browserHistory 在 Apache 服务器上不起作用【英文标题】:react-router browserHistory doesn't work on Apache server 【发布时间】:2016-12-05 23:26:29 【问题描述】:我有一个 html 单页应用程序,我正在尝试使用反应路由器的 browserHistory,但没有成功。在本地开发服务器上一切正常,在使用 hashHistory 时也在 prod 中运行。
到目前为止,我已经尝试过阅读的所有内容:
.htaccess 来自官方文档的更新(这似乎没有任何作用)。谁能确认这行得通? createBrowserHistory(有和没有 webpack 插件)这是 Apache 服务器的已知限制吗?任何帮助将不胜感激。
【问题讨论】:
【参考方案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 时,您会保留带句点或不带句点的路径吗? 我使用带句点的路径。以上是关于react-router browserHistory 在 Apache 服务器上不起作用的主要内容,如果未能解决你的问题,请参考以下文章
[react-router] React-Router怎么获取历史对象?
[react-router] React-Router怎么设置重定向?
[react-router] React-Router的实现原理是什么?
react-router v6对比react-router v5