Next.js结合GraphQL实现i18n路由时非默认语言报404错误
Next.js 多语言路由404问题(基于getStaticPaths生成路径)
我们正在使用GraphQL与Next.js开发项目,通过getStaticPaths函数生成路由路径,日志显示路径格式正确。默认语言下所有页面均可正常访问,但切换至其他语言时会出现404错误。
相关代码
getStaticPaths 实现
export async function getStaticPaths() { const data = await client.query({ query: allPages }); const paths = data.data.ItemForPage.filter((pagee) => pagee.content.general.path !== null ).map((page) => { return { params: { page: [page.content.general.path], locale : page.language }, } }); console.log("paths",paths); return { paths : paths, fallback: false, } }
next.config.js 配置
module.exports = { i18n: { locales: ['en', 'nl'], defaultLocale: 'nl', } }
已尝试的操作
- 硬编码两条路径,分别为“nl”和“en”语言的“contact”路径:当“nl”为默认语言时,该页面可正常显示,但访问“en”版本时会出现404错误;将默认语言改为“en”后,“en”版本正常,“nl”版本出现404。
已创建复现该问题的CodeSandbox。
内容的提问来源于stack exchange,提问作者ydm
相关产品推荐
相关产品推荐

