Re: fastcgi и несколько document root
Maxim Dounin
mdounin на mdounin.ru
Чт Июн 9 20:57:20 UTC 2016
Hello!
On Thu, Jun 09, 2016 at 11:44:44PM +0300, Alex Domoradov wrote:
> # nginx -v
> nginx version: nginx/1.11.0
>
> Ubuntu 14.04.
>
> с php и $request_filename трюк работает
>
> fastcgi_param SCRIPT_FILENAME $request_filename;
>
> а вот просто html файл не находит. А ищет тут - public_html/web/api/test.html
Такое обычно бывает, если на верхнем уровне описан regex location
для обработки статических файлов, что-нибудь вроде
location ~ \.(jpg|gif|html)$ {
expires 1m;
}
Возможные решения:
1. Добавить модификатор "^~" к location /api/, дабы запретить
дальнейший поиск регулярных выражений.
2. Изолировать этот regex location внутри префиксного, e.g.
location / {
...
location ~ \.(jpg|gif|html)$ {
expires 1m;
}
}
Подробнее про то, как работают location'ы, можно почитать в
документации, http://nginx.org/r/location/ru.
Вообще с location'ами, заданными регулярными выражениями, стоит
быть осторожным и по возможности избегать и/или изолировать.
Неаккуратность легко приводит к конфигам, которые невозможно
поддерживать.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru