我尝试将我的首页的/
路由重定向到来自i18n中间件的查询参数字符串,因为我正在翻译我的网站:
app.use('/', function (req, res) {
res.redirect('/' + req.getLocale());
});
app.use('/:lang', index);
所以我希望从/
重定向到/hu
。
我正在使用i18n-node中间件插件。文档中所需的部分位于:https://github.com/mashpie/i18n-node#i18ngetlocale
然而,这导致了太多重定向,并且网站未加载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
解
只需更改路线顺序,因为我想要重定向的位置尚不存在:
app.use('/:lang', index);
app.use('/', function (req, res) {
res.redirect('/' + req.getLocale());
});
更新
有人可以向我解释,如果我比其他人提前4个月发布这个副本我的问题是什么?