Новенькие проблемы с 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