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
|