我正在运行一个中间件在我的NextJS为博客下面的匹配器matcher: ["/blog/:path*", "/_tenants/:path*"],我的文章页面有路由/blog/slug-uuid我有所有博客/博客列表页我不中间件功能击中时,列表页/博客是运行我累了这个解决方案if (path.endsWith("/blog")) { return; }这是工作,但功能被调用.我不想发生这种事
matcher: ["/blog/:path*", "/_tenants/:path*"],
/blog/slug-uuid
if (path.endsWith("/blog")) { return; }
8cdiaqws1#
根据他们的文件,这里说:注意:为了向后兼容,Next.js始终将/public视为/public/index。因此,/public/:path的匹配器将匹配。我怀疑你正好遇到了这种情况,你应该使用(正如你已经建议的那样):if (path.endsWith("/blog")) { return; }
/public
/public/index
/public/:path
1条答案
按热度按时间8cdiaqws1#
根据他们的文件,这里说:
注意:为了向后兼容,Next.js始终将
/public
视为/public/index
。因此,/public/:path
的匹配器将匹配。我怀疑你正好遇到了这种情况,你应该使用(正如你已经建议的那样):
if (path.endsWith("/blog")) { return; }