dilikpulatov
@dilikpulatov
веб-программист

Как добавить код языка в url в Nginx?

Здравствуйте!
Сайт работает на Vue js(NuxtJS) в режим SSR.
Сайт запущен в порт 3000 и через проксий в Nginx послушаю порт для домен.
На сайте реализовано мулти-язык. пример урл сейчас site.com/en
Итак задача такая.
В Nginx реализовать нужно так чтобы при переходе по ссылке например: site.com нужно перенаправить на en.site.com то есть код языка должен быт перед доменом.
Как это можно реализовать?
И одновременно нужно валидация для код языка....допустим у меня есть 2 языка RU и EN. Нужно чтобы Nginx пропустил только эти: en.site.com и ru.site.com
  • Вопрос задан
  • 174 просмотра
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
dilikpulatov
@dilikpulatov Автор вопроса
веб-программист
Нашел один способ (тут)
server {
  listen 443 ssl;
  server_name ~^(www\.)?(?<lang>en|ru)\.site\.com;

  location / {
    proxy_pass http://localhost:3000/$lang;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

server {
  listen 443 ssl;
  server_name site.com;
  rewrite ^(.*)$ http://en.site.com;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы