javascript - 在 Node.js 和 Express 应用程序中重写 URL

标签 javascript node.js express

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

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

如果我点击“domain.com/pink-car”,app.get('/:slug'可以工作并响应来自mongodb的“pink car”帖子,但我还有其他GET方法就像 /login/admin ,如果我输入这些,app.get('/:slug' 会再次触发。

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

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

这次,我的网址将是“domain.com/posts/pink-car”,但为了搜索引擎优化,我想将此网址重写为“domain.com/pink-car”。

您有什么建议,谢谢。

版本:Node.js - 0.10.33、Express - 5.0.0-alpha.1

最佳答案

我将在这里解决您的基本问题,而不是您的具体问题。 (What is the XY problem?)

只要您的路由以正确的顺序定义,它就应该有效。因此,首先定义 /login/admin,然后才执行 /:slug,一切都应该很好。

关于javascript - 在 Node.js 和 Express 应用程序中重写 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27136985/

相关文章:

javascript - 通过库转换颜色无法正常工作

javascript - 如何处理下拉列表选择的变化?

javascript - JavaScript 中的命名空间技术在 JSLint 中存在问题

javascript - 如何从创建许多选择标签的指令中将项目列表添加到 Controller 范围

node.js - 只能使用 wget localhost 访问的端口

javascript - Webdriver.io - Node.js 意外的 token 导入 - 页面对象

javascript - Mongoose 没有返回,但 mongo shell 已返回

html - 如何在 node.js EJS View 中转义 HTML?

javascript - 将异步函数传递给 Node.js Express.js 路由器

node.js - 带 Handlebars 模板引擎的 Sails.js