Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: расширение return
On Fri, Jun 18, 2010 at 02:05:17PM +0400, Igor Sysoev wrote:
> 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
Во втором параметре можно использовать переменные:
return 404 '"$request_uri" not found\n';
--
Игорь Сысоев
http://sysoev.ru
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|