Как настроить nginx на раздачу 2ух разных папок со статикой по разным url?

Всем привет!

Есть 2 папки с сайтами /site1 и /site2

-Если мы на домашней странице site.com/, nginx должен отдавать index.html и всю статику с папки /site1

-Если мы не на домашней (например site.com/some), то nginx должен отдавать index.html и статику с папки /site2

Пытался сделать через связку root и "location = /" с "location /", но при таком конфиге всегда отдаётся /site2 :

server {
  server_name site.com;

  location = / {
    root /home/site1;
    index index.html;
    try_files $uri /index.html;
  }

  location / {
    root /home/site2;
    index index.html;
    try_files $uri /index.html;
  }
}

Кажется это как-то связано с тем, что из-за директивы "index index.html", мы никогда не попадаем на чистый "location = /". Но в таком случае тоже не понятно как поступить

Заранее спасибо

--- UPD

Уточнение, например, если у меня такая структура файлов:

/site1
    index.html
    main.js
    main.css

/site2
    index.html
    othername.js
    main.css

То когда пользователь заходит на site.ru/ ему должен отдаваться сайт с папки site1/ (это gatsby сайт)

А если любой другой урл, например site.ru/abc, то должен отдаваться уже сайт с паки site2/ (это react сайт)


Ответы (1 шт):

Автор решения: Вадим Александру

Автор я не уверен, что правильно тебя понял. В качестве костыля можно сначала чекнуть есть ли запрашиваемый файл в site1, если нет то ищем в site2

server {
  server_name site.com;

  location @site2 {
    root /home/site2;
    index index.html;
    try_files $uri /index.html;
  }

  location / {
    root /home/site1;
    index index.html;
    try_files $uri /index.html @site2;
  }
}
→ Ссылка