Javascript express应用程序中res.render上的重定向过多
我尝试将frontpage的Javascript express应用程序中res.render上的重定向过多,javascript,node.js,express,internationalization,Javascript,Node.js,Express,Internationalization,我尝试将frontpage的/路由重定向到来自i18n中间件的查询参数字符串,因为我正在翻译我的站点: app.use('/', function (req, res) { res.redirect('/' + req.getLocale()); }); app.use('/:lang', index); 所以我希望被从/重定向到/hu 我正在使用i18n节点中间件插件。文档中需要的部分如下所示: 但是,这会导致重定向过多,并且站点没有加载ERR\u-too\u-many\u重定向错误。这
/
路由重定向到来自i18n中间件的查询参数字符串,因为我正在翻译我的站点:
app.use('/', function (req, res) {
res.redirect('/' + req.getLocale());
});
app.use('/:lang', index);
所以我希望被从/
重定向到/hu
我正在使用i18n节点中间件插件。文档中需要的部分如下所示:
但是,这会导致重定向过多,并且站点没有加载ERR\u-too\u-many\u重定向
错误。这是控制台输出:
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:
解决方案
只需更改路由顺序,因为我想要重定向的位置还不存在:
app.use('/:lang', index);
app.use('/', function (req, res) {
res.redirect('/' + req.getLocale());
});
更新
有人可以向我解释,如果我比另一个提前4个月发布这个问题,我的问题是如何重复的?你的
索引是什么样子的?问题已通过索引路由器更新。你已经尝试过切换这两个应用程序的顺序。使用行吗?没有,但现在我尝试了并解决了!非常感谢。我想首先我要重定向到路线,但看起来它在我想重定向的地方不存在。我的错(可能的副本)