Статика и rewrite

Igor Sysoev is at rambler-co.ru
Sun Mar 15 19:38:06 MSK 2009


On Sun, Mar 15, 2009 at 07:33:14PM +0300, Вячеслав (СТYDИЯ АРТ-DИЗАЙН) wrote:

> В результате получилась следующая конфигурация:
> 
>     server {
>         listen 80; 
>         server_name img.site.ru www.img.site.ru;
> 
>         expires max;
>         add_header Cache-Control public;
>         access_log off;
> 
>         root /var/www/vhosts/site.ru/subdomains/img/httpdocs;
>         
>         location ~* ^/i/rating/(.+)\.png$ {
>              error_page 404 = http://www.site.ru/img.php?rating=$1;
>         }
>         
>         location ~* \.(bmp|gif|jpg|jpeg|ico|png|swf|tiff)$ {
>         }     
>     }
> 
> При отсутствующем файле, скрипту не передается параметр $1, т.е.
> http://www.site.ru/img.php?rating=
> 
> Я так понимаю что $1 работает в error_page только начиная с 0.7.41?

Да.

> Использую сейчас nginx/0.6.35, стоит ли перейти на последнюю версию?

Можно переходить.

> Большое спасибо за ответы!
> 
> --
> С уважением, Вячеслав
>  
> 
> -----Original Message-----
> From: owner-nginx-ru at sysoev.ru [mailto:owner-nginx-ru at sysoev.ru] On
> Behalf Of Igor Sysoev
> Sent: Sunday, March 15, 2009 6:09 PM
> To: nginx-ru at sysoev.ru
> Subject: Re: Статика и rewrite
> 
> On Sun, Mar 15, 2009 at 05:54:55PM +0300, Igor Sysoev wrote:
> 
> > On Sun, Mar 15, 2009 at 04:01:31PM +0300, Вячеслав (СТYDИЯ АРТ-DИЗАЙН)
> wrote:
> > 
> > > Добрый день, сообщество nginx-ru!
> > > Я новичек, установил nginx как фронт-енд к apache2.
> > >  
> > > Сделал отдельный домен img.site.ru под раздачу картинок через nginx.
> > > Дополнительно nginx должен проверять если по адресу
> > > img.site.ru/i/rating/*.png файл, то он отдает его пользователю, если
> нет
> > > отправляет на формирование скрипту http
> > > <http://www.site.ru/img.php?rating=*>
> ://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;
> > >             }
> > >         }
> > >     }
> > >  
> > > Верна ли конфигурация? Я почему-то в ней сомневаюсь.
> > 
> > Для 0.7.41:
> > 
> >         root /var/www/vhosts/site.ru/subdomains/img/httpdocs;
> > 
> >         location ~* ^/i/rating/(.+)\.png$ {
> >              error_page       /img.php?rating=$1;
> 
> -              error_page       /img.php?rating=$1;
> +              error_page 404 = /img.php?rating=$1;
> 
> >         }
> > 
> >         location ~* \.(bmp|gif|jpg|jpeg|ico|png|swf|tiff)$ {
> >         }
> > 
> >         location ~* \.php$ {
> >              proxy_pass  ...;
> >         }
> 
> 
> -- 
> Игорь Сысоев
> http://sysoev.ru

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





More information about the nginx-ru mailing list