我正在尝试根据当前子域翻译我的 Next 应用程序。例如,我想要 en.hello.com
使用英语,和 it.hello.com
是意大利语。
我正在尝试使用 Next 的 domain routing 来实现这一点。 ,但显然,这并不意味着用于子域,而是用于顶级域,如 hello.en
和 hello.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 中实现子域路由?
最佳答案
您尝试执行的操作似乎不是受支持的功能。根据您自己提供的 documentation ,您可以拥有顶级区域设置域,例如 .it
或子路径,例如 /it
.现在我不确定为什么当互联网上的大多数网站都选择子路径时你想要一个子域。如果选择子路径,则通过提供 Accept-Language: it;q=0.9
header 用户将被自动重定向。
替代
如果您无法使用任一受支持的功能,那么您唯一的其他选择就是创建 custom servers .这需要做更多的工作,而且您还将失去部署到 vercel 平台的能力。
关于reactjs - Next.js 域路由与子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64818772/