ПРОЕКТЫ 


  АРХИВ 


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: регулярное выражение



On Tue, Mar 27, 2012 at 10:45:41PM +0400, r3borned@xxxxxxxxx wrote:
> Приветствую.
> Есть вот такое дело в конфиге:
> location ~ ^/((240|110)x(320|120))/(.*pic-.*)$ {
>             alias /www/mysite.ru/$4;
>             image_filter resize $2 $3;
>         }
> Собственно, все работает, но хочется кое-что улучшить. А именно: здесь можно 
> юзать 4 комбинации: 240х320, 240х120, 110х320, 110х120 - они все попадают под 
> регулярку. А я хочу, чтобы попадало только 240х320 и 110х120. Да, можно 
> переписать ее, но в то же время мне нужно чтобы ширина и высота были в $2 и в 
> $3, чтобы передать их в image_filter.
> Что можете посоветовать в такой ситуации? Как оптимально решить задачу?

Если решать задачу действительно оптимально, то есть, чтобы не писать
по-меньше, как часто думают про оптимально, а чтобы поддерживать
конфигурацию было проще, то от регулярных выражений нужно отказаться
или же локализовать их:

location /240x320/ {
    location ~ ^/240x320/(.*pic-.*)$ {
        alias /www/mysite.ru/$1;
        image_filter resize 240 320;
    }
    return 404;
}

location /110x120/ {
    location ~ ^/110x120/(.*pic-.*)$ {
        alias /www/mysite.ru/$1;
        image_filter resize 110 120;
    }
    return 404;
}


-- 
Игорь Сысоев
http://sysoev.ru

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


 




Copyright © Lexa Software, 1996-2009.