Как перенаправить вложенные URL в Node.js + Express - PullRequest
1 голос
/ 07 сентября 2011

Я пытаюсь создать модуль, который перенаправляет старые URL-адреса на новый на Node.JS + Express:

app.get('/category1', function (req, res){ res.redirect('/category2', 301) }) - отлично работает.

но когда мы идем к /category1/subcategory, он не перенаправляется на /category2/subcategory

Как сделать это правило перенаправления, как в 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

1 Ответ

4 голосов
/ 07 сентября 2011

Вы не можете построить маршрут, подобный следующему?

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

Отредактировано для случая использования подстановочного знака.

Я бы посоветовал проверить раздел expressjs.com о маршрутизации.

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

...