使用 Next JS 我想将路径 /home?id=123qwert
上的请求重定向到新的目标路径 /home/123qwert
我在从源中提取要在目标中再次使用的查询参数时遇到问题。
这是我目前的实现:
async rewrites() {
return [
/**
* My source URL -> /home?id=123qwerty
* My new destination -> /home/123qwerty
*/
{
source: '/home?id=:cmsId*',
destination: '/home/:cmsId*'
}
];
}
我的主页动态页面设置为 /home/[id].js
我不断收到以下错误:
Reason: Unexpected MODIFIER at 5, expected END
/home?id=:cmsId*
^
`source` parse failed for route {"source":"/home?id=:cmsId*","destination":"/home/:cmsId*"}
答案 0 :(得分:1)
rewrites 对象中的 source
字段遵循 path-to-regexp
的语法,这意味着您在处理查询字符串时需要转义问号 (\\?
)。
async rewrites() {
return [
{
source: '/home\\?id=:cmsId*',
destination: '/home/:cmsId*'
}
];
}