我有一个 javascript,它根据 URL 执行不同的操作。 为此,我需要具有一致的 URI。
例如,我需要用户始终访问 www.site.com/users/bob/
而不是 www.site.com/users/bob
/p>
不幸的是,node 似乎不支持它。
我试过重定向
router.get('/:user', function(req, res) {
res.redirect('/users/' + req.params.user' + '/');
});
但这只会导致重定向循环,因为带斜线和不带斜线的 URL 似乎被视为相同。
我该怎么做? 谢谢!
编辑:
我想从 WITHOUT 斜线路由到 WITH 斜线。 另一个问题的答案恰恰相反。 我不能 .substr(-1) 我的 URL
最佳答案
如果其他人正在寻找快速的零依赖解决方案,这对我来说效果很好:
app.get('/:page', function(req, res){
// Redirect if no slash at the end
if (!req.url.endsWith('/')) {
res.redirect(301, req.url + '/')
}
// Normal response goes here
});
关于javascript - 带/不带尾部斜线的 Node.js 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34556302/