ПРОЕКТЫ 


  АРХИВ 


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]

Re: try_files_bypass


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: try_files_bypass
  • From: Gena Makhomed <gmm@xxxxxxxxx>
  • Date: Tue, 03 Aug 2010 20:51:49 +0300
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=csdoc.com; s=dkim; t=1280857909; bh=R38IqYwz1niwEMz4mC4rPCyfQisyEKwL77gzd0rKzLY=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=d GO6/MHOnYlu53zTdveAzOCUM9U+6i7sJOIDSRQ9yN2OG+/iidZnBXN1zeTeW+ciFBgG PdeU9i1/8OHFVbuyPvsDY3neOMThNQemMEJvrwx9wt/RkKU8TE3j1HbaOJiw/RB4PSZ 3J2nrKUtUcgiZ7eSSb+SkMMgALFhY+Xvfxj8=
  • In-reply-to: <20100803140037.GJ43134@xxxxxxxxxxxxx>
  • References: <20100803140037.GJ43134@xxxxxxxxxxxxx>

On 03.08.2010 17:00, Igor Sysoev wrote:

В свете такого кошмара

http://kuapp.com/2010/06/30/nginx-rewrite-rules-of-wordpress-3-0-permalinks-and-wp-super-cache.html

есть идея внедрить директиву try_files_bypass или bypass_try_files
по аналогии с proxy_cache_bypass:

    try_files_bypass   $query_string
                       $cookie_comment_author
                       ...
                       ;

Только придётся делать поддержку выржаений, для вещей типа
                  "$request_method = POST"
                  "$http_cookie ~* comment_author_|wordpress|wp-postpass_"


вместо синтаксиса

try_files_bypass   $query_string
                   "$request_method = POST"
                   ...
                   ;

предлагаю сделать безымянные переменные с вычисляемым значением:

try_files_bypass   $query_string
                   $( $request_method = POST )
                   ...
                   ;

все что внутри $( ... ) - это допустимые варианты из if ( условие ).
значение этой переменной: 1 для случая true или "" для случая false.

плюс в том, что парсер всегда сможет правильно понять $( условие )

$( $http_cookie ~* "id=([^;]+)(?:;|$)" )

что для варианта синтаксиса "условие" будет очень затруднительно:

" $http_cookie ~* "id=([^;]+)(?:;|$)" "

и в будущем возможно будет расширение синтаксиса путем введения функций:

$crc32( ... ),  $md5( ... ), $sha1( ... )

$and( ... , ... ), $or( ... , ... ), $not( ... )

например:

$and( $( $request_method = POST ), $( $server_protocol = "HTTP/1.0" ) )

--
Best regards,
 Gena


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.