ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Вопрос по логике н ахождения файла для вы полнения



On Sun, 15 Jul 2007 00:11:09 +0400
Igor Sysoev <is@xxxxxxxxxxxxx> wrote:

> On Thu, Jul 12, 2007 at 07:01:18PM +0400, Driantsov Alexander wrote:
> 
> > Интересует следующая функциональность и возможность ее реализации:
> > 
> > Логика апача:
> > запрашиваемая URL'а:
> > 
> > http://domain/file/param/
> > 
> > Например:
> > 
> > http://domain/c/abc-def-ghi/
> > 
> > Апач находит файл "c", смотрит в .htaccess, а там указано:
> > 
> > <Files c>
> > ForceType application/x-httpd-php
> > </Files>
> > 
> > Апач обрабатывает файл "c" как PHP.
> > 
> > Логика Nginx'а:
> > 
> > запрашиваемая URL'а:
> > 
> > http://domain/file/param/
> > 
> > Например:
> > 
> > http://domain/c/abc-def-ghi/
> > 
> > Nginx не находит директории и выдает ошибку:
> > 
> > 2007/07/12 09:49:58 [error] 15109#0: *1 
> > "/var/www/nginx/domain.com/c/abc-def-ghi/index.php" is not found (20: Not a 
> > directory)
> > 
> > Как заставить это дело обрабатываться скриптом "c" а не читать директорию?
> 
> Общего решения нет, для контретно этого случая можно использовать такое:
> 
>         location /c {
> 
>             set  $path_info  "";
>             if ($uri ~ ^/c(.+)) {
>                 set  $path_info  $1;
>             }
> 
>             fastcgi_pass   ...
>    
>             fastcgi_param  SCRIPT_FILENAME  /path/to/c;
>             fastcgi_param  PATH_INFO        $path_info;
>         }
> 

Спасибо за помощь. В конце-концов рабочим для меня оказался следующий конфиг:

location /c {
        fastcgi_pass 127.0.0.1:8888;
        fastcgi_param SCRIPT_FILENAME /var/www/nginx/domain/c;
        fastcgi_param PATH_INFO $uri;
        include conf/php.conf;
 }

-- 
Sincerely yours,
Driantsov Alexander,
Technical Support Engineer
 
Qualiteam Software
Glavpochtamt, p/o box 5152.   [web site] http://www.x-cart.com/
432072 Ulyanovsk, Russia      [ phone  ] +7-(8422)-429037  (9:00-18:00 GMT +4)



 




Copyright © Lexa Software, 1996-2009.