Задать вопрос
Alex_P97
@Alex_P97
Программист любитель

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

Есть сайт на laravel, который работает на нескольких доменах.
В папке /srv/web/split/storage/markets лежат ресурсы сатов. Так как php раздавать эти файлы будет намного медленней чем алиас(рерайт) в nginx надо сделать данный алиас который отдаёт файлы из /srv/web/split/storage/markets/$HOST/$FILE по адресу $HOST/resources/$FILE. Если данного файла нет -- отдаём из root(/srv/web/split/public)
Помогите организовать данный рерайт.
Конфиг сайта на данный момент:
server {
  listen 80;
  server_name domain1.ru domain2.ru domain3.ru domain4.ru;

  root /srv/web/split/public;
  index index.html index.php;

  location / {
    try_files $uri $uri/ /index.php?$query_string;
  }
}


Пример:
aaa.hostname.ru/resources/app.min.css -> /srv/web/split/storage/markets/hostname.ru/app.min.css
  • Вопрос задан
  • 317 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
location /resources/ {
    alias /srv/web/split/storage/markets/$host/;
}

У меня нет опыта работы с $host - возможно, вам придется текущую конфигурацию развернуть в 4 отдельных.

С отсутствующим файлом, думаю, надо решить через try_files $uri @named_location
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы