В Nginx `root` задает корень для вашего `location`. Если вы хотите указать конкретный путь к файлам, относительно вашего `location`, то следует использовать директиву `alias` вместо `root`.
Сначала давайте поймем структуру вашего URL и файловой системы.
Допустим, ваша текущая настройка сайта выглядит так:
```
server {
server_name your-domain.com;
root /var/www/your-domain.com/html;
location / {
# конфигурация для обслуживания сайта
}
location /resize/ {
root /home/bitrix/ext_www/images/resize;
# другие конфигурации...
}
}
```
И вы хотите, чтобы URL `http://your-domain.com/resize/422346/asjdhy37772jssh_500x500.webp` отдавал файл `/home/bitrix/ext_www/images/resize/422346/asjdhy37772jssh_500x500.webp`.
С использованием `root`, Nginx будет искать файлы в директории `/home/bitrix/ext_www/images/resize/resize/...`, что неверно.
Вам следует использовать `alias`, чтобы путь сопоставлялся корректно:
```nginx
location /resize/ {
alias /home/bitrix/ext_www/images/resize/;
# обратите внимание на слэш / в конце пути, он важен при использовании alias
# другие конфигурации...
}
```
Данная конфигурация будет указывать Nginx, что когда приходит запрос в `location /resize/`, он должен заменять `/resize/` на путь из `alias`, и искать файлы уже в этом новом пути.
Дополнительно, если у вас есть конфигурация, которая запрещает доступ к директориям на уровень выше `root`, вы должны убедиться, что нет дополнительных директив, которые могут блокировать доступ к файлам из новой папки `alias`.