2016-07-28 148 views
0

使用Express,我如何将具有“/ something”的所有url重定向到基本路径“/:=”,包括其各自页面的其他路径。例如,我想重定向如下:使用Express将路径重定向到基础“/”路径

  1. “/什么”,以 “/”
  2. “/某事/其他” 到 “/其他”
  3. “/某事/其他/再次” 到“/其它/再次”
  4. 等...

我怎样才能实现与快递?

var express = require('express'); 
var router = express.Router(); 

router.get('/something/*', function(req, res) { 
    res.redirect('/'); 
}); 

module.exports = router; 

回答

2

req.originalUrl会给你原来的路径,并从您需要删除something部分。你可以试试:

router.get('/something/*', function(req, res) { 
    var newPath = req.originalUrl.split('something')[1] 
    res.redirect(newPath); 
}); 

您还可以使用req.path,但也有一些scenarios可能无法正常工作。

+1

req.path在这种情况下也很有用 – semanser