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