Fwd: Re: расширение return
Gena Makhomed
gmm на csdoc.com
Пн Авг 1 08:25:49 UTC 2011
документация по директиве return которая отсутствует на сайте:
http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#return
-------- Original Message --------
Subject: Re: расширение return
Date: Fri, 18 Jun 2010 14:05:17 +0400
From: Igor Sysoev <igor at sysoev.ru>
Reply-To: nginx-ru at nginx.org
To: nginx-ru at nginx.org
On Thu, Jun 17, 2010 at 02:20:52PM +0400, Igor Sysoev wrote:
> On Thu, Jun 17, 2010 at 02:15:22PM +0400, Igor Sysoev wrote:
>
> > On Thu, Jun 17, 2010 at 11:07:12AM +0100, Valery Kholodkov wrote:
> >
> > > О, можно будет сделать более универсальный eval:
> > >
> > > eval $a {
> > > return 200 "blah";
> > > }
> >
> > А какая семантика ?
> >
> > Вообще-то я не хочу ничего добавлять в этот мерзкий rewrite модуль,
> > но return мне нравится. Да и понадобилось по работе.
>
> Я бы ещё сделал
>
> location /old/ {
> location ~ ^/old(.+)$ {
> return http://site.com$1;
> }
>
> или
>
> location /old/ {
> location ~ ^/old(.+)$ {
> return 301 http://site.com$1;
> }
>
> Вот такую личную неприязнь я испытываю к rewrite, что кушать не могу!
Итак, патч. Варианты использования:
# старые
return 204;
return 404;
return 500;
# новые
return 200;
return 200 "OK\n";
return 404 "not found\n"; # не перехватывается error_page
return 301 http://site.ru$request_uri;
return 302 http://site.ru$request_uri;
return 303 http://site.ru$request_uri;
return http://site.ru$request_uri; # по умолчанию 302
return https://site.ru$request_uri; # по умолчанию 302
return $scheme://site.ru$request_uri; # по умолчанию 302
--
Игорь Сысоев
http://sysoev.ru
Подробная информация о списке рассылки nginx-ru