Новенькие проблемы с rewrite-ом
Andrey Ryabushenko
cdome at bk.ru
Sun Feb 3 00:56:44 MSK 2008
В сообщении от 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") {
}
More information about the nginx-ru
mailing list