Re: Статика и rewrite

Алексей Бобок alexey.bobok at gmail.com
Sun Mar 15 17:36:48 MSK 2009


потому что error_page легче для обработки?

2009/3/15, Vladimir Rusinov <vladimir at greenmice.info>:
>
>
> 2009/3/15 Вячеслав (СТYDИЯ АРТ-DИЗАЙН) <first at dizain.org>
>
> >
> >
> >
> >
> > Добрый день, сообщество nginx-ru!
> >
> > Я новичек, установил nginx как фронт-енд к apache2.
> >
> >
> >
> > Сделал отдельный домен img.site.ru под раздачу картинок через nginx.
> Дополнительно nginx должен проверять если по адресу
> img.site.ru/i/rating/*.png файл, то он отдает его пользователю, если нет
> отправляет на формирование скрипту
> http://www.site.ru/img.php?rating=*
> >
> >
> >
> > Конфигурация:
> >
> >
> >
> >     server {
> >
> >         listen 80;
> >
> >         server_name img.site.ru www.img.site.ru;
> >
> >
> >
> >         expires max;
> >
> >         add_header Cache-Control public;
> >
> >         access_log off;
> >
> >
> >
> >         location ~*
> ^.+\.(bmp|gif|jpg|jpeg|ico|png|swf|tiff)$ {
> >
> >             root
> /var/www/vhosts/site.ru/subdomains/img/httpdocs;
> >
> >             if (!-f $document_root${uri}) {
> >
> >                 rewrite ^/i/rating/(.*)\.png$
> http://www.site.ru/img.php?rating=$1 last;
> >
> >                 break;
> >
> >             }
> >
> >         }
> >
> >     }
> >
> >
> >
> > Верна ли конфигурация? Я почему-то в ней сомневаюсь.
> Не используйте if, лучше сделать через error_page, примерно так:
>
> location @back {
>    rewrite ^/i/rating/(.*)\.png$
> http://www.site.ru/img.php?rating=$1 last;
>    proxy_pass http://1.2.3.4;
> }
>
> location ~* ^.+\.(bmp|gif|jpg|jpeg|ico|png|swf|tiff)$ {
>      ....
>      error_page 404 = @back;
> }
>
> --
> Vladimir Rusinov
> http://greenmice.info/
>


-- 

--
Best regards, Alexey Bobok


More information about the nginx-ru mailing list