如何在 Node.js 中重定向嵌套 url表达

发布于 2024-12-03 02:24:39 字数 630 浏览 2 评论 0原文

我正在尝试创建一个模块,将旧网址重定向到 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

I'm tryin to do a module that redirect old urls to the new one on Node.JS + Express:

app.get('/category1', function (req, res){ res.redirect('/category2', 301) }) - works fine.

but when we're goin to /category1/subcategory it doesnt redirect to /category2/subcategory

How-to do this redirect rule like in apache's .htaccess:

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

e.g.

/category1 -> /category2

/category1/ -> /category2/

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

青芜 2024-12-10 02:24:39

你不能建立如下所示的路线吗?

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

编辑通配符用例。

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

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

You can't build a route like the following?

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

Edited for wildcard use case.

I'd suggest checking out expressjs.com's section on routing.

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文