2016-07-28 5 views
0

Mit Express, wie kann ich alle URLs mit "/ something" auf den Basispfad "/: =" mit zusätzlichen Pfaden zu ihren jeweiligen Seiten umleiten. Zum Beispiel möchte ich folgendes umleiten:Umleiten von Pfaden zu Basis "/" Pfaden mit Express

  1. "/ etwas" zu "/"
  2. "/ etwas/else" auf "/ else"
  3. "/ etwas/else/wieder" zu "/ else/wieder"
  4. etc ...

Wie kann ich erreichen, dass mit Express?

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

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

module.exports = router; 

Antwort

2

req.originalUrl werden Sie ursprünglichen Pfad geben und aus, dass Sie den something Teil entfernen müssen. Können Sie versuchen:

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

Sie auch req.path, aber es gibt einige scenarios es möglicherweise nicht nutzen können.

+1

req.path ist auch in diesem Fall nützlich – semanser