diff --git a/apps/web/src/middleware.ts b/apps/web/src/middleware.ts index bb3763a..ffcf0ac 100644 --- a/apps/web/src/middleware.ts +++ b/apps/web/src/middleware.ts @@ -17,8 +17,13 @@ export function middleware(req: NextRequest) { ? hostname.replace(`.${ROOT_DOMAIN}`, "") : hostname; // custom domain — resolved to a slug via domains table at render time + // On the root path, req.nextUrl.pathname is "/" — appending it as-is would + // rewrite to "/menu//" (trailing slash), which the [slug] dynamic + // route does not match. Only append the original path when it's non-root. + const originalPath = req.nextUrl.pathname === "/" ? "" : req.nextUrl.pathname; + const url = req.nextUrl.clone(); - url.pathname = `/menu/${subdomain}${req.nextUrl.pathname}`; + url.pathname = `/menu/${subdomain}${originalPath}`; return NextResponse.rewrite(url); }