Express4中文文档
req.url
不是原生的 Express 属性,它继承自 Node 的 http 模块。
这个属性很像req.url
;但是,它保留了原始请求 URL,允许您出于内部路由目的自由重写 req.url
。例如,app.use() 的 "mounting" 特性将重写 req.url
以剥离挂载点。
// GET /search?q=something
console.dir(req.originalUrl)
// => '/search?q=something'
req.originalUrl
在中间件和路由器对象中都可用,并且是 req.baseUrl
和 req.url
的组合。考虑以下示例:
app.use('/admin', function (req, res, next) { // GET 'http://www.example.com/admin/new?sort=desc'
console.dir(req.originalUrl) // '/admin/new?sort=desc'
console.dir(req.baseUrl) // '/admin'
console.dir(req.path) // '/new'
next()
})