Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Помогите с rewrite
On Thu, Jan 22, 2009 at 06:01:14PM +0300, Anton Nagorniy wrote:
>
>
> -----Original Message-----
> From: Igor Sysoev <is@xxxxxxxxxxxxx>
> To: nginx-ru@xxxxxxxxx
> Date: Thu, 22 Jan 2009 17:48:59 +0300
> Subject: Re: Помогите с rewrite
>
> > On Thu, Jan 22, 2009 at 05:45:02PM +0300, Anton Nagorniy wrote:
> >
> > >
> > >
> > > -----Original Message-----
> > > From: Igor Sysoev <is@xxxxxxxxxxxxx>
> > > To: nginx-ru@xxxxxxxxx
> > > Date: Thu, 22 Jan 2009 17:23:54 +0300
> > > Subject: Re: Помогите с rewrite
> > >
> > > > On Thu, Jan 22, 2009 at 03:51:26PM +0300, Anton Nagorniy wrote:
> > > >
> > > > > rewrite ^/services/([0-9a-zA-Z_-]*)\.py(.*)?$ $1.py?service=$1$2?
> > > > > last;
> > > > >
> > > > > Объясните пожалуйста, почему результатом правила есть всегда $1.py, а
> > > > > service=$1$2 почему-то отсутствует в результируещем url?
> > > >
> > > > - rewrite ^/services/([0-9a-zA-Z_-]*)\.py(.*)?$ $1.py?service=$1$2?
> > > > last;
> > > > + rewrite ^/services(/[0-9a-zA-Z_-]*)\.py(.*)?$ $1.py?service=$1$2?
> > > > last;
> > > >
> > > > > 2009/01/20 14:59:40 [error] 50993#0: *1 open()
> > > > > "/usr/local/nginx/htmllogin.py" failed (2: No such file or
> > > > > directory), client: 192.168.50.1, server: localhost, request: "GET
> > > > > /services/login.py HTTP/1.1", host: "192.168.50.5"
> > > > >
> > > > >
> > > > > /usr/local/nginx/htmllogin.py - это хорошо, он почему здесь нет
> > > > > ?service=login
> > > >
> > > > Потому что из-за неправильного rewrite этот запрос обрабатывается
> > > > как статический файл.
> > > >
> > > >
> > > > --
> > > > Игорь Сысоев
> > > > http://sysoev.ru
> > > >
> > > + rewrite ^/services(/[0-9a-zA-Z_-]*)\.py(.*)?$ $1.py?service=$1$2?
> > > last;
> > >
> > > Этот rewrite тоже неверный? Результат тот же.
> >
> > В смысле - open() "/usr/local/nginx/html/login.py" failed (2: No such
> > file or directory) ? А обработчик .py есть ?
>
> Есть. Я специально закоментировал proxy pass потому, что в таком случае
> невидно ошибки в error.log. Мне очень важно чтобы передались параметры с
> помощью GET, судя по логам они не передаются. Понятия не имею почему.
А как выглядит конфиг ?
То, что уходит на бэкенд можно увидеть в error_log'е при 502 ошибке -
нужно опуститт бэкенд, сделать запрос и посмотреть на upstream в error_log.
--
Игорь Сысоев
http://sysoev.ru
|