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