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

为何默认语言未自动重定向至/fa?fumadocs-i18n配置求助

解决Fumadocs i18n默认语言自动重定向问题

针对你设置默认语言为fa但未自动重定向到localhost:3000/fa的问题,可尝试以下解决方案:

  • 添加根路径重定向中间件
    在Next.js项目根目录创建middleware.ts文件,通过中间件强制根路径重定向到默认语言路由:

    import { NextResponse } from 'next/server';
    import type { NextRequest } from 'next/server';
    import { i18n } from './i18n'; // 替换为你的i18n配置文件实际路径
    
    export function middleware(request: NextRequest) {
      const pathname = request.nextUrl.pathname;
      const hasLanguagePrefix = i18n.languages.some(lang => pathname.startsWith(`/${lang}`));
    
      // 根路径无语言前缀时,重定向到默认语言路由
      if (pathname === '/' && !hasLanguagePrefix) {
        return NextResponse.redirect(new URL(`/${i18n.defaultLanguage}`, request.url));
      }
    
      return NextResponse.next();
    }
    
    // 排除静态资源、API等路径,避免不必要的重定向
    export const config = {
      matcher: ['/((?!api|_next/static|_next/image|favicon.ico).*)'],
    };
    
  • 确认i18n配置已注入Fumadocs
    检查fumadocs.config.ts是否正确导入并启用你的i18n配置:

    import { defineConfig } from 'fumadocs-core/config';
    import { i18n } from './i18n';
    
    export default defineConfig({
      i18n,
      // 其他配置项...
    });
    
  • 验证多语言文档目录结构
    因你设置了parser: "dir",需确保文档目录按语言分类组织:

    docs/
    ├── en/
    │   ├── index.mdx
    │   └── ...其他文档
    ├── fa/
    │   ├── index.mdx
    │   └── ...其他文档
    └── cn/
        ├── index.mdx
        └── ...其他文档
    

    目录结构不匹配会导致i18n解析异常,间接影响重定向逻辑。

  • 清除浏览器缓存
    浏览器缓存的旧路由状态可能导致重定向不生效,清除缓存后重新访问localhost:3000测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 01:40:02