【问题标题】:Next Js dynamic subpathNext Js 动态子路径
【发布时间】:2020-11-16 22:02:49
【问题描述】:

我目前正在开发一个 next.js 应用程序,到目前为止一切顺利,一切正常,但我的客户想要一个我很难实现的功能。

所以该站点位于 mysite.com 和 mysite.com/cars、mysite.com/vehicles 等路线

现在我的客户想要一个基于访问者国家的动态子路径,例如mysite.com/us/cars 或 mysite.com/uk/cars 或 mysite.com/ng/cars

我已经在 next.js 10 中尝试了新的 i18n 功能,但它似乎只适用于用户的区域设置(语言)。

有没有办法可以通过编程方式执行此操作,或者我应该将其留给 DevOps 部署到子文件夹?

【问题讨论】:

  • 您可以使用 next.js 路由器动态设置 i18n 语言环境,应该没问题。

标签: javascript reactjs next.js i18next react-ssr


【解决方案1】:

您可以通过动态路由来完成此操作。

https://nextjs.org/docs/routing/dynamic-routes

你需要做的是调整在你的目录结构中有一个[locale]文件夹,这样你的页面就变成了:

pages/[locale]/carspages/[locale]/vehicles

然后您可以使用

访问活动区域设置
const router = useRouter();
const locale = router.query.locale;

确定如何检索内容。如果您需要静态生成所述语言环境,您也可以通过放置一个

getStaticPaths 功能在您的网页中

https://nextjs.org/docs/basic-features/data-fetching#getstaticpaths-static-generation

现在,如果您要问如何根据他们当前的国家/地区动态路由,即一旦他们登陆顶级页面就重定向,那是完全不同的游戏。

【讨论】:

    猜你喜欢
    • 2021-09-13
    • 2019-02-07
    • 1970-01-01
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 2020-01-24
    • 2022-01-13
    • 2019-01-09
    相关资源
    最近更新 更多