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

Igor Sysoev is at rambler-co.ru
Sun Jul 15 00:11:09 MSD 2007


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;
        }


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list