Re: Регулярные выражения в location

Alex, the Marrch Ca'at marrch.caat at gmail.com
Thu Oct 29 15:48:11 MSK 2009


Нет. Все упрется как минимум в переменную $box_cutHeight - фактически,
Вам нужно для нее как-то будет задать значение "по умолчанию", на
случай, если соотв. часть regexp-а уловит пустую строку. Но для этого
придется использовать if, а, как я понимаю, в таком случае проще сразу
застрелиться и не мучаться :)
Ну или написать perl-вставку для присвоения дефолтного значения этой
переменной, но оно того стоит??

Алекс Марртовский.

2009/10/27 ash2k - <ash2kk at gmail.com>:
> Здравствуйте! Подскажите пожалуйста можно ли как-либо написать первые два
> локейшена как один?
>
> location ~ ^/box/(([1-9][0-9]*)x([1-9][0-9]*))/(?:../)?((..).+)$
> {
>         set                             $box_filename $4;
>         set                             $box_newMaxWidth $2;
>         set                             $box_newMaxHeight $3;
>         set                             $box_cutHeight 0;
>         root                            /home/cropbox/www/cache/box;
>         try_files                       /$1/$5/$4 @box;
> }
> location ~
> ^/box/(([1-9][0-9]*)x([1-9][0-9]*)x([1-9][0-9]*))/(?:../)?((..).+)$
> {
>         set                             $box_filename $5;
>         set                             $box_newMaxWidth $2;
>         set                             $box_newMaxHeight $3;
>         set                             $box_cutHeight $4;
>         root                            /home/cropbox/www/cache/box;
>         try_files                       /$1/$6/$5 @box;
> }
> location @box
> {
>         error_log
> /home/cropbox/log/nginx.box.error_log warn;
>         error_page                      404 /img/imagenotfound.png;
>         error_page                      500 502 503 504
> /img/imageunavailable.png;
>         include                         fastcgi_params;
>         fastcgi_param                   SCRIPT_FILENAME
> /home/cropbox/www/box.php;
>         fastcgi_param                   QUERY_STRING
> filename=$box_filename&newMaxWidth=$box_newMaxWidth&newMaxHeight=$box_newMaxHeight&cutHeight=$box_cutHeight;
>         fastcgi_intercept_errors        on;
>         fastcgi_pass                    unix:/tmp/php.sock;
> }
>


More information about the nginx-ru mailing list