Re[2]: include в if-е

Ilya Lobahin i.lobahin на nikitaonline.ru
Ср Дек 7 12:00:54 UTC 2011


Здравствуйте, Aleksandr.

Вы писали 7 декабря 2011 г., 15:41:43:



>> Пытаюсь сделать так:
>> location ~ \.php$ {
>>    if ( $uri !~ "^/images/" ){
>>        include /etc/nginx/fastcgi.conf;
>>    }
>> }
>>
>> Получаю:
>> nginx: [emerg] "include" directive is not allowed here
>> Почему? В описании директивы контекст любой.
>>
>> Приходится извращаться так:
>> location ~ \.php$ {
>>    if ( $uri !~ "^/images/" ){
>>        fastcgi_pass   127.0.0.1:8181;  # By all means use a different server for the fcgi processes if you need to
>>    }
>>        include /etc/nginx/fastcgi2.conf;
>> }

> А почему не хотите так:

> location /images {
> ...
>     location ~ \.php$ {
>         fastcgi_pass   127.0.0.1:8181;  # By all means use a different
> server for the fcgi processes if you need to
>     }
> }

> location ~\.php$ {
>    include /etc/nginx/fastcgi2.conf;
> }

так писанины больше.
основная цель - закрыть директории с загружаемыми картинками от
выполнения php вот таким образом:
/some/path/site/images/qqq.png/.php



-- 
С уважением,
Лобахин Илья
Системный администратор
NIKITA.ONLINE
115201, Москва, Каширское  шоссе д. 22/4 строение 7
e-mail: mailto:i.lobahin на nikitaonline.ru
Тел./Факс: +7 (495) 788-7936
http://www.nikitaonline.ru
http://www.gamexp.ru



Подробная информация о списке рассылки nginx-ru