Служите другой странице на основе переменной с Nginx - PullRequest
0 голосов
/ 26 марта 2020

У меня есть nuxt generate d веб-сайт JAMStack с i18n. Сгенерированные страницы находятся в папках 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, но в версии Engli sh такой страницы нет, и я бы хотел показывать /en/archive/index.html в ответ на GET /, если $lang равно 'en'.

Как бы я это сделал?

1 Ответ

0 голосов
/ 26 марта 2020

Вы можете использовать встроенный 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')
      });
    }
    ...
  },

Это позволит вам на уровне приложения перенаправлять на страницу спецификаций c в зависимости от входящего маршрута.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...