【问题标题】:Next.js domain routing with sub-domainsNext.js 带有子域的域路由
【发布时间】:2021-02-25 08:02:25
【问题描述】:

我正在尝试根据当前子域翻译我的 Next 应用程序。例如,我希望en.hello.com 使用英语,it.hello.com 使用意大利语。

我正在尝试使用 Next 的 domain routing 来实现这一目标,但显然,这并不意味着与子域一起使用,而是与顶级域(例如英语和意大利语的 hello.enhello.it)一起使用.

这是我的 next.config.js

module.exports = {
  i18n: {
    locales: ["en", "it"],
    defaultLocale: "en",

    domains: [
      {
        domain: "en.hello.com",
        defaultLocale: "en",
      },
      {
        domain: "it.hello.com",
        defaultLocale: "it",
      },
    ],
  },
};

这些设置无法将en.hello.com 映射到英语,将it.hello.com 映射到意大利语。

谁能解释为什么会这样以及如何在 Next 中实现子域路由?

【问题讨论】:

    标签: reactjs routes localization internationalization next.js


    【解决方案1】:

    您尝试执行的操作似乎不是受支持的功能。根据您自己提供的documentation,您可以拥有诸如.it 之类的顶级语言环境域或诸如/it 之类的子路径。现在我不确定为什么当互联网上的大多数网站都选择子路径时你想要一个子域。如果您选择子路径,那么通过提供Accept-Language: it;q=0.9 标头,用户将被自动重定向。

    替代方案

    如果您无法使用任一受支持的功能,那么您唯一的其他选择是创建custom servers。这需要做更多的工作,而且您还将失去部署到 vercel 平台的能力。

    【讨论】:

      猜你喜欢
      • 2011-03-06
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      • 2020-07-29
      • 2017-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多