# req.originalUrl

返回原始请求的 URL,且可以自由重写。

# 概要

req.originalUrl

# 描述

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.baseUrlreq.url 的组合。考虑以下示例:

// 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()
})
Last Updated: 3/22/2023, 7:27:28 PM