1

我正在构建可伸缩性极强的反应应用程序,并且我正在使用 SSR 来进行 SEO。但我不知道如何处理 URL

喜欢:用户可以直接登陆这个网址,domian.com/delhi/cardiologist

在后端,我有一个识别 URL 组件的系统,在这种情况下是“位置:组件”中的“特殊性”组件

我不能这样走

<Rout path={"delhi"}>
    <Location/>
</Route>

造成这种情况的原因是德里。但是对于另一个用户,它将是一个不同的城市名称,我想在 URL 中反映不同的城市,但由于最佳 SEO 呈现相同的组件。SEO 是我的应用程序的核心。

我对这种事情真的很陌生。请指导我。

4

1 回答 1

0

我建议在路径中添加一些结构,以便您更轻松地找到位置,例如:

<Route path='/search/:city/:specialty' component={Specialty} />

所以这将匹配domian.com/search/delhi/cardiologist。您可以将其自定义为任何有意义的内容,它甚至可以是一个简短的字母,就像/go/您因为 SEO 而担心 URL 长度一样。

然后,在 Specialty 组件中,您可以使用match.params.citymatch.params.specialty来获取您正在寻找的参数:

function Specialty({ match }) {
  const { city, specialty } = match.params;

  return (
    <p>Search for {specialty} in the city of {city}</p>
  );
}

你仍然可以使用你想要的路径来实现一个包罗万象的路由:

<Route path='/:city/:specialty' component={Specialty} />

但是,这将需要始终在最后设置路线,以便它仅在<Specialty />与您拥有的任何其他路径不匹配时才降落在您的组件上。

于 2019-09-28T21:00:03.003 回答