Не знаете, почему вы проверяете значение $host
. Обычный способ разграничения имен узлов состоит из нескольких блоков сервера. См. this document.
директива try_files
используется для проверки наличия статического файла, а затем перенести на действия по умолчанию, если он не существует:
server {
...
root ...;
location/{
try_files $uri $uri/ /index.php;
}
location ~ \.php$ { ... }
}
Какой будет работать для любых статических файлов (а не только тех, в каталоге /static
). См. this document.
Однако, если вы специально хотите, чтобы каталог /static
обрабатываются иначе, используйте расположение префикса с модификатором ^~
:
location ^~ /static { }
См this document подробности.