我正在使用 Next.js,并尝试根据一些正则表达式条件和 cookie 重定向到给定路径。
目标是/foo/bar当源没有密钥bar但有给定的 cookie 时进行重定向。
我尝试了几种不同的方法,next.config.js但没有一个有效。
现在我有以下内容
async redirects() {
return [
{
source: '/(^(?:(?!bar).)*$)',
has: [{
type: 'cookie',
key: 'utm_source',
value: 'bar',
}],
destination: '/foo/bar',
permanent: true
}
]
}
Run Code Online (Sandbox Code Playgroud)
该文档相当模糊。
小智 8
我还遇到了正则表达式问题,正在深入研究 next.js 源代码并进行一些调试。我发现不幸的是没有人告诉你 next.js 将你的正则表达式包装在/^(?:\/(你的正则表达式中))$/i
实际上,第一部分 ( \/) 可能取决于您的源属性。但是,如果您删除除实际的“单词正则表达式”之外的所有内容,它应该可以工作:
source: '/(?!bar)',
Run Code Online (Sandbox Code Playgroud)
regexp.source(在getPathMatch()node_modules\next\dist\shared\lib\router\utils\path-match.js中查看)
| 归档时间: |
|
| 查看次数: |
5710 次 |
| 最近记录: |