From f0994262765af22d0c80b5f9b40ac425df9020d8 Mon Sep 17 00:00:00 2001 From: Alex Harley Date: Fri, 21 Jun 2024 18:21:32 +0200 Subject: [PATCH 1/3] fix: remove fancy middleware matcher regex --- src/middleware.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/middleware.ts b/src/middleware.ts index 230380c1..e843fa72 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -1,7 +1,8 @@ import { NextRequest, NextResponse } from 'next/server'; export const config = { - matcher: ['/((?!blocked/_next/static/backgrounds/fonts/favicon).*)'], + // only run on the index + matcher: '/', }; const BLOCKED_COUNTRIES = [ @@ -43,6 +44,7 @@ const BLOCKED_REGIONS = [ ]; export function middleware(req: NextRequest) { + console.log('running middleware', req.url); const country = req.geo?.country; const region = req.geo?.region; From 31c9922e8578ac579526bffdd994ba0b2621b411 Mon Sep 17 00:00:00 2001 From: Alex Harley Date: Fri, 21 Jun 2024 18:22:44 +0200 Subject: [PATCH 2/3] chore: rm log --- src/middleware.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/middleware.ts b/src/middleware.ts index e843fa72..49337326 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -44,7 +44,6 @@ const BLOCKED_REGIONS = [ ]; export function middleware(req: NextRequest) { - console.log('running middleware', req.url); const country = req.geo?.country; const region = req.geo?.region; From dbd884013547187114e9a66c6e223691fad4f5e4 Mon Sep 17 00:00:00 2001 From: Alex Harley Date: Fri, 21 Jun 2024 19:50:13 +0200 Subject: [PATCH 3/3] fix: fully qualified url --- src/middleware.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/middleware.ts b/src/middleware.ts index 49337326..444e240e 100644 --- a/src/middleware.ts +++ b/src/middleware.ts @@ -48,7 +48,7 @@ export function middleware(req: NextRequest) { const region = req.geo?.region; if (country && BLOCKED_COUNTRIES.includes(country)) { - return NextResponse.redirect('/blocked'); + return NextResponse.redirect(new URL('/blocked', req.url)); } if ( @@ -56,7 +56,7 @@ export function middleware(req: NextRequest) { region && BLOCKED_REGIONS.find((x) => x.country === country)?.regions.includes(region) ) { - return NextResponse.redirect('/blocked'); + return NextResponse.redirect(new URL('/blocked', req.url)); } return NextResponse.next();