为何默认语言未自动重定向至/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
相关产品推荐
相关产品推荐

