ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fwd: Re: расширение return


  • To: nginx-ru@xxxxxxxxx
  • Subject: Fwd: Re: расширение return
  • From: Gena Makhomed <gmm@xxxxxxxxx>
  • Date: Mon, 01 Aug 2011 11:25:49 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csdoc.com; s=dkim; t=1312187150; bh=8ma44weYyHYd742OHGiblpEPDQwiCpPZo1mLz9A+b28=; h=Message-ID:Date:From:MIME-Version:To:Subject:References: In-Reply-To:Content-Type:Content-Transfer-Encoding; b=mIZahX/NgGBxjpDsmP//GXwmO8IREJKGQN9Llv8Y94626NoY1Zxk0aoyZSBiG0V35 yWi6FQrvLoeCDxOV4cbKHELAp78p7b0ewDAl1iJXuOSfUZXVADHYf7YmzDV8Zfr1gL EHB4ZS/DpjydIzYDVQy6XVobVXsCPUnJglzHMp/c=
  • In-reply-to: <20100618100517.GA60075@xxxxxxxxxxxxx>
  • References: <20100618100517.GA60075@xxxxxxxxxxxxx>


документация по директиве 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@xxxxxxxxx>
Reply-To: nginx-ru@xxxxxxxxx
To: nginx-ru@xxxxxxxxx

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 mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.