Welcome! Log In Create A New Profile

Advanced

Re: try_files_bypass

Gena Makhomed
August 03, 2010 01:52PM
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@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

try_files_bypass

Igor Sysoev August 03, 2010 10:02AM

Re: try_files_bypass

Gena Makhomed August 03, 2010 01:52PM

Re: try_files_bypass

Igor Sysoev August 03, 2010 01:58PM

Re: try_files_bypass

Gena Makhomed August 05, 2010 07:12PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 187
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready