我有一个JavaScript,它会根据URL执行不同的操作。
为此,我需要具有一致的URI。
例如,我需要用户始终使用www.site.com/users/bob/
而不是www.site.com/users/bob
不幸的是,似乎节点不支持该功能。
我试图重定向
router.get('/:user', function(req, res) {
res.redirect('/users/' + req.params.user' + '/');
});
但这只会导致重定向循环,因为带有斜线和不带斜线的网址似乎被视为相同。我怎样才能做到这一点?
谢谢!
编辑:
我想从无斜线路由到有斜线。
另一个问题的答案是相反的。
我无法.substr(-1)我的网址
最佳答案
您可以使用称为express-slash的第三方库来获得此功能。您需要做的就是
首先,安装库
$ npm install express-slash
然后,将它们添加到您的app.js中。
var slash = require('express-slash');
app.use(slash()); // set slash middleware
然后,这是您的路由器。
router.get('/:user/', function(req, res) {
// do your stuff
});
希望对您有用。