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