uonick
@uonick
Laravel кодер

Как настроить папку и домен в nginx?

Привет!
Имеется:
  • Поддомен вида bla-stage.domain.tld
  • Папка /var/www/bla


Как настроить root, чтобы nginx искал домен без постфикса -stage?

Примеры:
  • feature-next-stage.domain.tld/var/www/feature-next
  • feature-bla-stage.domain.tld/var/www/feature-bla


Пробовал, не сработало.
server {
    listen   80 default_server;
    charset  utf-8;
    server_name "~^(.*)-stage\.domain\.tld$";
    root /var/www/$1;
    index index.html index.htm index.php;
    ...
}


Есть идеи?
  • Вопрос задан
  • 64 просмотра
Решения вопроса 1
@dodo512
server {
    listen 80;
    server_name ~^(?<root_dir>.*)-stage\.domain\.tld$;
    root /var/www/$root_dir;
    ...
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
server {
  listen 80;
  server_name   ~^([^\-]+\-[^\-]+)\-stage.domain.tld$;

  if ($host ~* ^([^\-]+\-[^\-]+)\-stage.domain.tld$) {
    set $root_dir $1;
  }

  location / {
    root /var/www/$root_dir
  }
}


Немного костыльно это в Nginx - это пример адаптированного рабочего конфига - но суть ясна. Надо установить переменные. $1 просто так не прокатит.
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
SaveTime Москва
от 140 000 до 200 000 руб.
COSMOS Москва
от 120 000 до 150 000 руб.
Foach Санкт-Петербург
от 80 000 до 100 000 руб.