【问题标题】:React-Router: Redirect my url from hashHistory to browserHistoryReact-Router:将我的 url 从 hashHistory 重定向到 browserHistory
【发布时间】:2017-09-01 17:45:09
【问题描述】:

我最近对我的代码进行了更改,以便在我的 React-Router 中使用 browserHistory 而不是 hashHistory。虽然我工作的网站的一些用户可能已经用哈希标记了 URL。

旧网址看起来像www.mywebsite.com/#/page?query=param,我想确保如果有人将其添加为书签,它会被重定向到www.mywebsite.com/page?query=param

看起来.htaccess 无法进行此重定向,所以我想知道最干净的方法是什么?

谢谢。

【问题讨论】:

  • 如果用户点击仍然包含哈希的 url,他们会到达该网站吗?
  • 链接不再有哈希。我只关心指向该站点的书签或外部链接。他们访问的网站是,但不是正确的页面。

标签: javascript .htaccess reactjs redirect react-router


【解决方案1】:

在你的主要组件中,你可能会渲染{this.props.children},你可以通过调用this.props.location.pathname来访问当前的url,如果url包含一个哈希,你可以剥离它并将用户重定向到他们的url想去。

这仅在用户第一次从其他任何地方返回您的网站时才有效,但如果他们已经在您的网站上并使用书签转到网站上的其他地方,我认为这不会奏效。原因是主组件的 componentDidMount 仅在初始加载或实际页面刷新时触发。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2016-09-18
    • 2015-11-28
    • 2023-03-30
    • 2017-04-29
    • 2019-06-17
    • 2017-03-24
    • 2017-10-04
    • 2016-06-01
    • 2017-09-27
    相关资源
    最近更新 更多