Re: порядок прохождения http-фаз сервера
Oleg
lego12239 at yandex.ru
Mon Mar 18 18:49:59 UTC 2013
On Mon, Mar 18, 2013 at 08:00:55PM +0400, Maxim Dounin wrote:
> Hello!
>
> > А http-redirect может только модуль фазы NGX_HTTP_CONTENT_PHASE слать или с
> > фазы NGX_HTTP_ACCESS_PHASE тоже можно слать перенаправления?
>
> Можно из любой фазы (но может требовать дополнительных
> приседаний).
Так. Попробовал по-быстрому сделать перенаправление. Никаких приседаний не
заметил, по крайней мере для фазы NGX_HTTP_ACCESS_PHASE. Может, чего-то не
учёл, конечно, но сделал в лоб:
h = r->headers_out.location;
if ( h == NULL ) {
h = ngx_list_push(&r->headers_out.headers);
if ( h == NULL )
return NGX_ERROR;
h->key.data = "Location";
h->key.len = sizeof("Location") - 1;
r->headers_out.location = h;
}
h->value.data = "http://ya.ru";
h->value.len = sizeof("http://ya.ru") - 1;
h->hash = 1;
r->headers_out.status = NGX_HTTP_TEMPORARY_REDIRECT;
ngx_http_send_header(r);
return NGX_OK;
Работает нормально.
Подробная информация о списке рассылки nginx-ru