如何在Node.js + Express中redirect嵌套的URL

我试着做一个模块,redirect旧的url到Node.JS + Express的新的:

app.get('/category1', function (req, res){ res.redirect('/category2', 301) }) – 正常工作。

但是当我们到/category1/subcategory它不会redirect到/category2/subcategory

如何做这个redirect规则就像在Apache的.htaccess中:

RewriteRule ^category1/(.*)$ category2/$1 [R,NC,L]

例如

/category1 -> /category2

/category1/ -> /category2/

/category1/2/3/ -> /category2/2/3/

/category1/2/?a=1&b=2 -> /category2/2/?a=1&b=2

你不能像以下build立一个路线?

 app.get('/category/*', function(req, res){ res.redirect('/category2/' + req.params[0], 301); }); 

编辑通配符用例。

我build议查看expressjs.com的路由部分。

http://expressjs.com/guide.html#routing