You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next.js国际化(i18n)路由出现404错误求助

Next.js多语言配置后404问题排查与解决

核心问题:页面结构不符合i18n路由规则

Next.js的国际化路由是将语言前缀作为路径最外层,而非嵌套在业务目录下。你当前pages/language/pt-BR/index.tsx的结构不被路由系统识别,这是导致404的直接原因。

修正步骤

1. 调整页面目录结构

针对/language路径的多语言页面,正确结构应为:

  • 默认语言(en-US):pages/language/index.tsx
  • 葡萄牙语(pt-BR):pages/pt-BR/language/index.tsx
  • 西班牙语(es):pages/es/language/index.tsx

如果是根路径的多语言页面,则对应pages/index.tsx、pages/pt-BR/index.tsx、pages/es/index.tsx。

2. 确认next.config.js配置有效性

确保配置格式正确,示例:

module.exports = {
  i18n: {
    locales: ["en-US", "pt-BR", "es"],
    defaultLocale: "en-US",
    localeDetection: false, // 可选,关闭自动检测避免测试干扰
  },
};

修改配置后必须重启开发服务器,否则新配置不会生效。

3. 测试正确访问路径

  • en-US:http://localhost:3000/language
  • pt-BR:http://localhost:3000/pt-BR/language
  • es:http://localhost:3000/es/language

4. 额外排查项

  • 检查所有语言页面是否正确导出React组件(必须有export default语句)
  • 确认next.config.js中没有自定义rewrites/redirects规则干扰国际化路由
  • 若使用Next.js 13+ App Router,需改用app/[locale]/language/page.tsx结构,且国际化配置方式需适配App Router规范

内容的提问来源于stack exchange,提问作者Luciano Clecio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 20:40:02