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;
    ...
}


Есть идеи?
  • Вопрос задан
  • 71 просмотр
Решения вопроса 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 просто так не прокатит.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
Social Systems Москва
от 50 000 до 100 000 руб.
Social Systems Москва
от 80 000 до 160 000 руб.
SaveTime Москва
от 160 000 руб.
19 марта 2019, в 01:16
5000 руб./за проект
19 марта 2019, в 00:14
1000 руб./в час
18 марта 2019, в 23:00
2000 руб./за проект