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)
|