Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 重定向到Nodejs中的默认语言?_Javascript_Node.js_Redirect_Seo_Multilingual - Fatal编程技术网

Javascript 重定向到Nodejs中的默认语言?

Javascript 重定向到Nodejs中的默认语言?,javascript,node.js,redirect,seo,multilingual,Javascript,Node.js,Redirect,Seo,Multilingual,目前正在Node.js/Express网站上工作,我有两种语言设置(EN和FR)。 如果用户输入www.domain.com(=无语言集),我希望它被重定向到默认语言的起始页-在本例中为EN,因此为www.domain.com/EN,但如果用户输入www.domain.com/fr,则应加载fr语言的起始页 编辑: 如何在后端正确执行此操作,以便尽快执行重定向并更正 谢谢您不需要重定向,只需对根路径和语言特定路径使用相同的路由处理程序函数即可: router.get('/en', handleE

目前正在Node.js/Express网站上工作,我有两种语言设置(EN和FR)。 如果用户输入www.domain.com(=无语言集),我希望它被重定向到默认语言的起始页-在本例中为EN,因此为www.domain.com/EN,但如果用户输入www.domain.com/fr,则应加载fr语言的起始页

编辑: 如何在后端正确执行此操作,以便尽快执行重定向并更正


谢谢

您不需要重定向,只需对根路径和语言特定路径使用相同的路由处理程序函数即可:

router.get('/en', handleEnglish);
router.get('/', handleEnglish);
router.get('/fr', handleFrench)

如果要使用重定向使URL显式,可以执行以下操作:

router.get('/en', handleEnglish);
router.get('/fr', handleFrench)
router.get('/', function(req, res) {
  res.redirect('/en');
});

您不需要重定向,只需对根路径和特定于语言的路径使用相同的路由处理程序函数:

router.get('/en', handleEnglish);
router.get('/', handleEnglish);
router.get('/fr', handleFrench)

如果要使用重定向使URL显式,可以执行以下操作:

router.get('/en', handleEnglish);
router.get('/fr', handleFrench)
router.get('/', function(req, res) {
  res.redirect('/en');
});

试着把自己限制在一个问题对一个问题(特别是,你应该删除第二个问题,因为这种类型的SEO问题主要是基于观点的,因此脱离主题…尽管它可能会在网站管理员的stackexchange上找到一个家)。好的。但我把它看作是主要问题的一个子问题?但是当然,我会编辑。试着把自己限制在一个问题对一个问题(特别是,你应该删除第二个问题,因为这种类型的SEO问题主要是基于观点的,因此脱离主题…尽管它可能会在网站管理员的stackexchange上找到一个主页)。好的。但我把它看作是主要问题的一个子问题?当然,我会编辑。是的,但我根本不想使用/just/en和/fr,所以如果用户只使用/it输入,应该重定向到/en。这是一个坏主意吗?所以您想强制/en作为URL的一部分出现,并承担重定向的开销?这样做的目的是什么,只是为了让用户看到他处于英语模式(这在页面内容中应该很明显)。如果你真的需要这个答案,我可以更新它——这也是相当微不足道的。所以你认为我应该考虑/成为英语,从而跳过/完全?只有法语内容才有/fr?它们都将共享相同的URL结构,如/about和/fr/about,因此我只需要确定应用程序开始时是否有“fr”来提供法语内容?我不是说你需要跳过/en-如果用户使用它,那么很好-他们将得到相同的内容,就像他们只键入/。在我看来,我会支持这两个关于共享结构的问题(稍后可能会有默认更改),现在你会遇到一个不同的设计问题(比你原来的帖子更多)。国际化本身就是一个非常深刻的话题,但如果您只关注消息传递的差异,那么两种语言的单一页面是最好的。看,谢谢。我想我会坚持支持两者。是的,但我根本不想使用/just/en和/fr,所以如果用户只使用/it输入,应该重定向到/en。这是一个坏主意吗?所以您想强制/en作为URL的一部分出现,并承担重定向的开销?这样做的目的是什么,只是为了让用户看到他处于英语模式(这在页面内容中应该很明显)。如果你真的需要这个答案,我可以更新它——这也是相当微不足道的。所以你认为我应该考虑/成为英语,从而跳过/完全?只有法语内容才有/fr?它们都将共享相同的URL结构,如/about和/fr/about,因此我只需要确定应用程序开始时是否有“fr”来提供法语内容?我不是说你需要跳过/en-如果用户使用它,那么很好-他们将得到相同的内容,就像他们只键入/。在我看来,我会支持这两个关于共享结构的问题(稍后可能会有默认更改),现在你会遇到一个不同的设计问题(比你原来的帖子更多)。国际化本身就是一个非常深刻的话题,但如果您只关注消息传递的差异,那么两种语言的单一页面是最好的。看,谢谢。我想我会坚持支持这两个。