节点表达太多重定向

节点表达太多重定向

本文介绍了节点表达太多重定向的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的路线设置如下

当我导航到' http://localhost/'时,我收到一条错误消息,提示"localhost重定向了您太多次"并且页面的URL(显示在浏览器的URL栏中)为 http://localhost/!/dashboard -因此它的确看起来像是被重定向了,但我看不到为什么它陷入无限循环

When i navigate to 'http://localhost/' i get an error saying 'localhost redirected you too many times' and the URL of the page (showing in the URL bar of the browser) is http://localhost/!/dashboard - so it does look like it is being redirected, but i cannot see why it's getting stuck in an infinite loop

 // Public Routes
 app.use('/', function(req,res){
      res.redirect('/!/dashboard');
 });
 app.use('/login', routes.login);
 app.use('/!/dashboard', isLoggedIn, routes.dashboard);

// Check If Logged In
function isLoggedIn(req,res,next){
    if (req.isAuthenticated()){
      return next();
    } else {
      res.redirect('/login');
    }
};

推荐答案

您不应使用app.use('/', ...),因为它将与任何以/开头的URL 开头相匹配.

You shouldn't use app.use('/', ...), because that will match any URL starting with a /.

相反,请使用 app.all :

Instead, use app.all:

app.all('/', function(req,res){
  res.redirect('/!/dashboard');
});
app.use('/login', routes.login);
app.use('/!/dashboard', isLoggedIn, routes.dashboard);

这篇关于节点表达太多重定向的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

07-31 17:51