ПРОЕКТЫ 


  АРХИВ 


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-ом



В сообщении от 2 февраля 2008 23:33 Roxis написал(a):
> On Saturday 02 February 2008, Andrey Ryabushenko wrote:
> > Использую nginx-0.5.35 под FreeBSD, на стареньком nginx-0.5.24 таких
> > проблем не было
> >
> > Простой конфиг (часть)
> >
> > server {
> >     location / {
> >             root /usr/local/www/site;
> >             index index.php;
> >     }
> >
> >     location ~ \.php$ {
> >             fastcgi_pass unix:/tmp/php.sock;
> >             fascgi_param SCRIPT_NAME 
> > /usr/local/www/site$fastcgi_script_name;
> >             include /usr/local/etc/nginx/fastcgi_params;
> >     }
> >
> >     if(!-e $request_filename) {
> >             rewrite .*      /index.php last;
> >     }
> > }
> >
> >
> > Реврайтятся все файлы независимо от того существуют они или нет.
> > Я тогда написал rewrite так
> >
> >     if(!-e $request_filename) {
> >             rewrite .*      /a.php?file=$request_filename last;
> >     }
> >
> > И написал a.php, который вывод значение аргумента file.
> > И получил, что например, на запрос /zopa - $request_filename
> > равен /usr/local/etc/nginx/html/zopa.
> > Такого каталога(/usr/local/etc/nginx/html) у меня нет и нигде в конфиге
> > не фигурирует, что-то багом пахнет и я что-то не так делаю?
>
> указать root в контексте server, иначе используется дефолтный

Ага, точно!

А то я начал городить конструкции типа (читай костыли)
if(!-e "/usr/local/www/new$fastcgi_script_name") {
}


 




Copyright © Lexa Software, 1996-2009.