Middleware matcher problem
Unanswered
California pilchard posted this in #help-forum
California pilchardOP
Hi guys, I have a problem with my match. My actual one is :
But I have this route
But my
Its working that break access to some file like the
matcher: ['/((?!api|_next|_vercel|.*\\..*).*)']But I have this route
/user/[username]But my
username can have dot int it, so if I go to : /user/loup.hello I have an 404 page because I dont know that the route corresponding to /user/[username]. TO fix that Ive try this matcher :matcher: ["/((?!api|static|_next|favicon.ico|robots.txt)(?!.*\\/[^\\/]*\\.[^\\/]{2,4}$).*)"]Its working that break access to some file like the
/sw.js (service worker in public folder). So I dont know which matcher I have to set....5 Replies
California pilchardOP
Well I dont find anything about my issue, Im not the only humain to use dot in slug ahah ?
yeah they usually use hyphen instead
@James4u yeah they usually use hyphen instead
California pilchardOP
But website like Instagram, Tiktok and others, they use dot in username
@California pilchard But website like Instagram, Tiktok and others, they use dot in username
yeah, then you should update your middleware matcher and it must be a pain I believe
California pilchardOP
I found a way and its working !
I have a rewrite for
export const config = {
matcher: [
'/((?!api|_next|_vercel|.*\\..*).*)',
// User pages
'/@:username/:path*',
],
};I have a rewrite for
/user/[username] to /@:username so now its working adding special case in matcher