Node.js 与所有/admin页面匹配的快速路由
我试图在express中定义一个路由,该路由匹配任何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
/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缓存重定向的信息,我想这是一种奇怪的行为。