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