Node.js 与所有/admin页面匹配的快速路由

Node.js 与所有/admin页面匹配的快速路由,node.js,regex,express,Node.js,Regex,Express,我试图在express中定义一个路由,该路由匹配任何/admin请求,如/admin/users、/admin/settings或/admin/profile/user,但不包括/admin或/admin/,因为它们用于登录,以检查连接是否为https以及管理员是否登录 我尝试过各种正则表达式,例如: /admin/:var() /admin/.* /admin/* /admin/var(*) 但似乎都不起作用。对于我使用的路由: app.use('/admin/:var(.{1,})',fu

我试图在express中定义一个路由,该路由匹配任何
/admin
请求,如
/admin/users
/admin/settings
/admin/profile/user
,但不包括
/admin
/admin/
,因为它们用于登录,以检查连接是否为https以及管理员是否登录

我尝试过各种正则表达式,例如:

/admin/:var()
/admin/.*
/admin/*
/admin/var(*)
但似乎都不起作用。对于我使用的路由:

app.use('/admin/:var(.{1,})',function(req,res,next){
    res.send("hello world");
    console.log("matched "+req.params.var);
});
这样的路线:

app.use('/admin/:more', function(req, res, next) {
    console.log(`req.path: ${req.path}`);
    // check admin login and https here
    next();
});

/admin
/admin/
不匹配,但与
/admin/anythingelse
/admin/anythingelse/和更多
匹配,这是我认为您所要求的。

是的,它有效。然而,这是非常奇怪的,我以前尝试过,但没有工作。现在试过了,但在chrome中不起作用。然而,当我切换到隐姓埋名模式时,它起了作用。在不处于匿名模式的情况下,它会不断将我重定向到/admin/home,这应该只有在我调用
next
时才会发生,而我不这样做t@AnduHD-重定向必须来自您自己的代码或其他地方。在这里,如果没有看到导致重定向的代码,我们就无法帮助您。这里没有重定向。连接到隐姓埋名模式让我觉得你有一个cookie,你的一些代码看到了它,并且做了一些不同的事情,因为它存在。谢谢你的回答,我刚刚找到了一些关于chrome缓存重定向的信息,我想这是一种奇怪的行为。