Блок location
наследует значение для $document_root
из оператора root
в окружающем блоке.Вы запускаете PHP-скрипты из двух разных корней, поэтому вам нужно два отдельных блока location
для их обработки.
Решение состоит в том, чтобы использовать вложенный блок location
.
Например:
location ^~ /office {
root /var/www/html/oldsite;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
Используйте модификатор ^~
, чтобы обеспечить правильную обработку location
файлов .php
.См. этот документ для деталей.Используйте оператор try_files
, чтобы не передавал неконтролируемые запросы php