diff --git a/www/app/[domain]/layout.tsx b/www/app/[domain]/layout.tsx index bfb80101..dbe5ed11 100644 --- a/www/app/[domain]/layout.tsx +++ b/www/app/[domain]/layout.tsx @@ -118,6 +118,7 @@ export default async function RootLayout({ children, params }: LayoutProps) { Browse diff --git a/www/middleware.ts b/www/middleware.ts index 5949603f..f5b6059b 100644 --- a/www/middleware.ts +++ b/www/middleware.ts @@ -8,42 +8,47 @@ export async function middleware(request: NextRequest) { const domain = request.nextUrl.hostname; const config = await getConfig(domain); - // Feature-flag protedted paths if ( - !config.features.browse && - request.nextUrl.pathname.startsWith("/browse") + request.nextUrl.pathname.match( + "/((?!api|_next/static|_next/image|favicon.ico).*)", + ) ) { - return NextResponse.redirect(request.nextUrl.origin); - } + // Feature-flag protedted paths + if ( + !config.features.browse && + request.nextUrl.pathname.startsWith("/browse") + ) { + return NextResponse.redirect(request.nextUrl.origin); + } - if (config.features.requireLogin) { - const fiefMiddleware = await getFiefAuthMiddleware(request.nextUrl); - const fiefResponse = await fiefMiddleware(request); + if (config.features.requireLogin) { + const fiefMiddleware = await getFiefAuthMiddleware(request.nextUrl); + const fiefResponse = await fiefMiddleware(request); + + if ( + request.nextUrl.pathname == "/" || + request.nextUrl.pathname.startsWith("/transcripts") || + request.nextUrl.pathname.startsWith("/browse") + ) { + if (!fiefResponse.headers.get("x-middleware-rewrite")) { + fiefResponse.headers.set( + "x-middleware-rewrite", + request.nextUrl.origin + "/" + domain + request.nextUrl.pathname, + ); + } + } + return fiefResponse; + } if ( request.nextUrl.pathname == "/" || request.nextUrl.pathname.startsWith("/transcripts") || request.nextUrl.pathname.startsWith("/browse") ) { - if (!fiefResponse.headers.get("x-middleware-rewrite")) { - fiefResponse.headers.set( - "x-middleware-rewrite", - request.nextUrl.origin + "/" + domain + request.nextUrl.pathname, - ); - } - console.log(fiefResponse); + return NextResponse.rewrite( + request.nextUrl.origin + "/" + domain + request.nextUrl.pathname, + ); } - return fiefResponse; - } - - if ( - request.nextUrl.pathname == "/" || - request.nextUrl.pathname.startsWith("/transcripts") || - request.nextUrl.pathname.startsWith("/browse") - ) { - return NextResponse.rewrite( - request.nextUrl.origin + "/" + domain + request.nextUrl.pathname, - ); } return NextResponse.next();