快递 – 如何修改请求,然后redirect到另一个路线?

我正在寻找一种方法来修改我的请求之前redirect到我的express.js应用程序中的另一个路线。

我尝试了两种方法来做到这一点:
1)

#users.coffee router.use '/:id', (req, res, next) -> req.currentUser = req.params.id req.url = '/' next() #app.coffee app.use '/users', require('./routes/users') app.get '/', (req, res) -> locals = {} if req.currentUser locals.currentUser = req.currentUser res.render 'index', locals 

2)

  #users.coffee router.use '/:id', (req, res, next) -> req.currentUser = req.params.id res.redirect '/' #app.coffee app.use '/users', require('./routes/users') app.get '/', (req, res) -> locals = {} if req.currentUser locals.currentUser = req.currentUser res.render 'index', locals 

第一种方法没有redirect,第二种方法是不呈现页面。

我想达到的目标可能是不可能的。 客户端请求发送的URL不能被修改。 我只能发送状态302和redirecturl,然后客户端发出一个新的获取请求。 所以有两个不同的要求。
不过,我可以在查询中转换url的斜线格式。

 #users.coffee router.get '/:id', (req, res) -> res.redirect '/?user:'+req.params.id