Node.js 使用NodeJS重写URL

Node.js 使用NodeJS重写URL,node.js,express,Node.js,Express,我想自定义我的URL重写,但它似乎没有像我希望的那样工作 我的旧代码: var rewrite = require('express-urlrewrite'); exports.rewrite = function(app){ app.use(rewrite('/p/:id/:seoUrl', '/page/show/$1/$2')); } 在我的浏览器中:(此URL有效) 我的新代码: var rewrite = require('express-urlrewrite'); expo

我想自定义我的URL重写,但它似乎没有像我希望的那样工作

我的旧代码:

var rewrite = require('express-urlrewrite');

exports.rewrite = function(app){
  app.use(rewrite('/p/:id/:seoUrl', '/page/show/$1/$2'));
}
在我的浏览器中:(此URL有效)

我的新代码:

var rewrite = require('express-urlrewrite');

exports.rewrite = function(app){
  app.use(rewrite('/:seoUrl', '/page/show/$1/$2'));
}
在我的浏览器中:(找不到ID)


使用NodeJS,有没有办法排除URL中的ID?

好的。如果仔细看一下:
“/page/show/$1/$2”
,您可能会注意到它接受两个参数

由于您删除了
:id
,您必须用静态id替换
$1
,或者完全删除它,还必须将
$2
更改为
$1

因此,最终您的代码可能如下所示:
app.use(rewrite('/:seoUrl','/page/show/1/$1')


或者像这样:
app.use(重写('/:seoUrl','/page/show/$1')

是的,我知道,但是使用NodeJS有办法自定义url并删除ID吗
:seoUrl
是格式化的URL,但我还需要ID来显示页面…@tonymx227好的,所以在我添加了两个示例后,您没有阅读我的文本。再看一看。我读了第二个示例,但它发送的是
:seoUrl
,而不是
:id
。我想发送
:id
,但不想在url中显示
id
。@tonymx227您要求从路由中删除
:id
。如果您仍然需要内部id,您应该使用第一个示例,并将1更改为您要引用的页面id。好的,但我要引用的页面id是动态的。。。这取决于页面。用户可以选择要显示的页面。。。