Next.js 14中间件无法放行"/"路由的配置求助
Next.js 14 next-auth 中间件放行根路径("/")的正确配置
问题原因
你当前的matcher正则未排除根路径,根路径(/)会被表达式中的.*匹配(空字符串符合.*规则),因此中间件会对根路径触发认证检查,导致无法放行。
修复后的配置
修改matcher的正则表达式,将根路径(对应正则^$)加入到负向预查的排除列表中:
export { default } from "next-auth/middleware"; export const config = { matcher: ["/((?!api|login|register|_next/static|_next/image|favicon.ico|^$).*)"] };
补充说明
- next-auth/middleware 仅支持通过
matcher配置匹配规则,不存在exclude属性,之前尝试的exclude配置无效。 - 正则中的
^$专门匹配根路径/,加入后该路径会被排除在中间件的触发范围之外,实现放行效果。
内容的提问来源于stack exchange,提问作者masternode
相关产品推荐
相关产品推荐

