ПРОЕКТЫ 


  АРХИВ 


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: rewrite && nginx == T_T



On Wed, Feb 25, 2009 at 01:13:20AM +0200, Sandel wrote:

> Здравствуйте!
> Столкнулся с проблемой нджинкса... Вот недавно решил перейти с апача, на 
> него...
> Юзаю nginx 0.6.35
> Есть кусок кода конфига:
> server {
> ...
>      location / {
>             root   /var/www/site/;
>             index  index.php index.html index.htm;
>             rewrite ^/(.*)\.png$ u.php?anime=$1 last;
>         }
> 
>         error_page   500 502 503 504  /50x.html;
>         location = /50x.html {
>             root   /usr/local/www/nginx-dist;
>         }
>         location ~ \.php$ {
>             root           html;
>             fastcgi_pass   unix:/var/run/php-fpm.sock;
>             fastcgi_index  index.php;
>             fastcgi_param  SCRIPT_FILENAME  /var/www/site$fastcgi_script_name;
> #               fastcgi_param  SCRIPT_FILENAME  /var/www/site/u.php;
>             include        fastcgi_params;
>         }
> ...
> Обратите внимание, пожалуйста, на строчку реврайта... т.е. при запросе файла 
> .png должно реврайтить на u.php?anime=блаблабла ... u.php это файл php 
> который обрабатывается интерпретатором. И обратите внимание на строчку 
>  fastcgi_param  SCRIPT_FILENAME  /var/www/site$fastcgi_script_name;
> Т.е. проблема состоит в том, что в переменную $fastcgi_script_name пишется 
> значение уже под реврайтом, в данном случае это блабла.png, и собственно 
> интерпретатор не обработает этот файл, т.к. его не существует(т.к. он 
> реврайтился)... вот он и выдает 
> "No input file specified". Т.е. если я вместо  $fastcgi_script_name впишу 
> /u.php все будет работать, но там вить и другие php файлы есть, которые 
> необходимо обработать...

"No input file specified" не поэтому, а потому что

-             rewrite ^/(.*)\.png$ u.php?anime=$1 last;
+             rewrite ^/(.*)\.png$ /u.php?anime=$1 last;

> Что можно предпринят в этом случае?
> Заранее спасибо огромное за подсказки! Уже второй день головой бьюсь
> ((


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



 




Copyright © Lexa Software, 1996-2009.