在快速应用程序res.render太多的redirect

我尝试将我的首页的路由redirect到i18n中间件的查询参数string,因为我在翻译我的网站:

 app.use('/', function (req, res) { res.redirect('/' + req.getLocale()); }); app.use('/:lang', index); 

所以我期待被redirect到/hu

我正在使用i18n-node中间件插件。 文档中需要的部分在这里: https : //github.com/mashpie/i18n-node#i18ngetlocale

但是,这导致太多的redirect,并且站点没有加载ERR_TOO_MANY_REDIRECTS错误。 这是控制台输出:

 GET / 302 18.685 ms - 50 GET /hu 302 4.789 ms - 50 GET /hu 302 3.312 ms - 50 GET /hu 302 4.679 ms - 50 GET /hu 302 2.234 ms - 50 GET /hu 302 4.708 ms - 50 GET /hu 302 3.040 ms - 50 ... 

是什么造成这个?

编辑

这是我的索引路由器:

 router.get('/', function (req, res, next) { fsAsync(function (err, data) { if (err) { return res.render('404', { titleShown: true, title: 'Error 404', description: 'Error 404', keywords: 'error,404' }); } var gallery = data[0].gallery.portfolio.love; //var json = gallery; //console.log(json); var articles = data[1].articles.reverse(); var slice = articles.slice(0, 6); var json = [{ articles: slice }]; res.render('index', { //layout: 'main', titleShown: false, title: 'Hi!', description: 'Home page', keywords: 'wedding,photography,film,lantos,istvan', data: gallery, latestPosts: json }); }); }); 

如果有人想深入了解,这里是我的app.js: https : //github.com/DJviolin/lantosistvan/blob/3573390386ea4fe5b7f418b3fbaa118673b6b6d6/app.js

只是改变路线顺序,因为我想redirect的地方还没有存在:

 app.use('/:lang', index); app.use('/', function (req, res) { res.redirect('/' + req.getLocale()); }); 

更新

有人可以向我解释,如果我比另一个人提前4个月发布,我的问题是重复的吗?

       

网上收集的解决方案 "在快速应用程序res.render太多的redirect"