Re: include в if-е

Aleksandr Sytar sytar.alex на gmail.com
Ср Дек 7 11:41:43 UTC 2011


7 декабря 2011 г. 15:24 пользователь Ilya Lobahin
<i.lobahin на nikitaonline.ru> написал:
> Здравствуйте, коллеги.
>
> Пытаюсь сделать так:
> 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;
}


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