我有一个i18n的nuxt generate
JAMStack网站。生成的页面位于en
和ru
文件夹中。我正在计算用户的语言环境并从相应的文件夹提供内容:
map $http_accept_language $fallback_lang {
~en en;
~ru ru
default en;
}
map $cookie_i18n_redirected $lang {
en en;
ru ru;
default $fallback_lang;
}
server {
location / {
root /var/www/html;
rewrite ^/(.*)/$ /$1 permanent;
try_files /$lang/$uri /$lang/$uri/index.html =404;
}
}
俄语首页位于/ru/index.html
中,但是英文版没有这样的页面,并且如果/en/archive/index.html
为GET /
,我想提供$lang
作为'en'
的响应。我该怎么办?
您也许可以利用extendRoutes
中的内置nuxt.config.js
。
在您的nuxt.config.js文件中:
// nuxt.config.js
...
router: {
...
extendRoutes(routes, resolve) {
routes.push({
path: '/',
component: resolve(__dirname, 'pages/en/archive/index.vue')
});
}
...
},
这将允许您在应用程序级别根据传入的路由路由到特定的nuxt页面。