When defining custom routes, or a middleware matcher
, a pattern could not be parsed.
This could have been due to trying to use normal RegExp
syntax like negative lookaheads (?!exclude
) without following path-to-regexp
's syntax for it.
Wrap the RegExp
part of your source
as an un-named parameter.
Custom routes:
Before
{
source: '/feedback/(?!general)',
destination: '/feedback/general'
}
After
{
source: '/feedback/((?!general).*)',
destination: '/feedback/general'
}
Middleware:
Before
const config = {
matcher: '/feedback/(?!general)',
}
After
const config = {
matcher: '/feedback/((?!general).*)',
}