Re: Статика и rewrite

Vladimir Rusinov vladimir at greenmice.info
Sun Mar 15 17:23:51 MSK 2009


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/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090315/75c92139/attachment.html>


More information about the nginx-ru mailing list