djtahoma
@djtahoma
PHP Developer

Как переопределить root в NGINX?

Есть сайт со структурой:

admin/
- controllers/
- index.php (точка входа в admin панель, занимается роутингом)
index.html

текущий конфиг:
server {
  listen 80;
  server_name project.local

  location / {
    index index.php;
    root /home/user/Sites/project/;
    try_files $uri $uri/ /admin/index.php;

    location ~* \.php {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php7.1-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }

    location ^~ /admin/* {
      index index.php;
      root /home/user/Sites/project/admin/;
      try_files $uri $uri/ /admin/index.php;
    }
  }
}


Задача, сделать возможным работу нескольких сайтов с одной админкой. Я думаю например создать следующую структуру:

admin/
- controllers/
- index.php (точка входа в admin панель, занимается роутингом)
sites/
- site1/
- - index.html
- site2/
- - index.html

и под каждый сайт сделать свой конфиг nginx и соответсвенно поменять root у каждого на
root /home/user/Sites/project/sites/site1


но при этом не могу заставить работать раздел admin, бьюсь уже 3тий день, пробовал разные настройки, нужна помощь.
  • Вопрос задан
  • 742 просмотра
Решения вопроса 1
@Wexter
location ^~ /admin {
      index index.php;
      root /home/user/Sites/project/;
      try_files $uri $uri/ /admin/index.php;
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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