我一直试图匹配以下网址:
app.get(/^\/\?uid.+/, userController.redirectUid)
,但它不起作用。
我试图用\来逃避问号?同样,但仍然无法奏效。我做错了什么,或者我不允许在快速路线上匹配问号?
答案 0 :(得分:1)
您不需要克拉(^),因为它意味着/
应该是您要匹配的字符串的开头。
app.get(/\/\?uid.+/, userController.redirectUid).
希望这可以解决您的问题。
答案 1 :(得分:0)
我不确定为什么app.get无法正常工作,但设法通过app.use解决它并将其与req.OriginalUrl相匹配。
工作代码:
app.use((req, res, next) => {
if (req.originalUrl.match(/^\/\?uid.+/)) {
res.redirect('/uid') //I just redirected directly without calling the middleware
}
}