diff --git a/middleware.ts b/middleware.ts new file mode 100644 index 0000000..7d12b0a --- /dev/null +++ b/middleware.ts @@ -0,0 +1,28 @@ +import type { NextRequest } from 'next/server'; +import { NextResponse } from 'next/server'; + +export function middleware(request: NextRequest) { + if ( + process.env.NODE_ENV === 'production' && + !request.headers.get('x-forwarded-proto')?.startsWith('https') + ) { + return NextResponse.redirect( + `https://${request.headers.get('host')}${request.nextUrl.pathname}`, + 301 + ); + } + return NextResponse.next(); +} + +export const config = { + matcher: [ + /* + * Match all request paths except for the ones starting with: + * - api (API routes) + * - _next/static (static files) + * - _next/image (image optimization files) + * - favicon.ico (favicon file) + */ + '/((?!api|_next/static|_next/image|favicon.ico).*)' + ] +};