-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmiddleware.ts
More file actions
26 lines (21 loc) · 813 Bytes
/
middleware.ts
File metadata and controls
26 lines (21 loc) · 813 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import type { NextRequest } from 'next/server';
import { NextResponse } from 'next/server';
function isProgrammaticClient(request: NextRequest): boolean {
// Browsers always send Sec-Fetch-Dest; curl/WebFetch/python-requests do not
return !request.headers.has('sec-fetch-dest');
}
export default function middleware(request: NextRequest) {
const { pathname } = request.nextUrl;
if (pathname === '/' && isProgrammaticClient(request)) {
const redirectUrl = request.nextUrl.clone();
redirectUrl.pathname = '/llms.txt';
return NextResponse.redirect(redirectUrl);
}
return NextResponse.next();
}
export const config = {
matcher: [
// Match all paths except Next.js internals, API routes, and static files
'/((?!_next|api/).*)', // This excludes /api/ but includes /apis/
],
};