我有一个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
});

希望对您有用。

08-25 15:51