重写 Node.js 和 Express 应用程序中的 URL

Rewrite URL in Node.js and Express Application

本文关键字:URL 应用程序 Express Node js 重写      更新时间:2023-09-26

我正在使用带有参数(:slug)的GET方法在我的网站上显示我的帖子;

app.get('/:slug', function(req, res) {
    var slug = req.param("slug");
    //other codes...
}

如果我单击"domain.com/pink-car",app.get('/:slug'工作并响应MongoDB的"粉红汽车"帖子,但我还有其他GET方法,例如/login /admin,如果我输入这些方法,app.get('/:slug'再次触发。

所以,我认为,如果我将我的 get 方法更改为这样;

app.get('/posts/:slug', function(req, res) {
}

这时,我的网址会是"domain.com/posts/pink-car",但是为了SEO,我想把这个网址改写成"domain.com/pink-car"。

你有什么建议,谢谢。

版本: 节点.js - 0.10.33 , 快速 - 5.0.0-alpha.1

我将在这里解决您的基本问题,而不是您的特定问题。(什么是XY问题?

只要您的路由以正确的顺序定义,它就应该可以工作。所以,首先定义/login/admin,然后才做/:slug,一切都应该没问题。