ПРОЕКТЫ 


  АРХИВ 


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: nginx .htaccess



On Mon, Apr 11, 2011 at 02:18:48PM +0300, Дмитрий Леоненко wrote:
> Игорь, а чем этот способ выгодно отличается от rewrite? Как по мне он
> сложнее. Больше текста, матчинг один и тот же производится по регулярке

Да, на первый взгляд он сложнее. И на второй тоже.
А когда конфигурация будет на три экрана - уже нет.

Во-первых, если на первом уровне нет location'ов с регулярными
выражениями, то "location /sig/" однозначно определяет, где
будет обрабатываться запрос. Если потом добавиться
"location /sig/something/", его можно тупо добавить в конфиг, куда
хочется и ничего не сломается. Простым посиком "/sig/" можно
быстро увидеть конфликтные ситуации.

Во-вторых, вложенными location'ами мы сразу описываем, что нужно
делать, а не реврайтим в некий /index.php, который нужно искать.

И вот когда конфигурация вырастает, эти location'ы остаются локально
простыми и независимыми - их можно менять, не думая, как эти
изменения скажутся на остальной конфигурации. К ним можно добавлять
новые location'ы, не думая, как эти добавления отразятся на старой
конфигурации.

> 2011/4/11 Igor Sysoev <igor@xxxxxxxxx>
> 
> > On Mon, Apr 11, 2011 at 06:33:32AM -0400, Test1k wrote:
> > > Спасибо за совет , если не трудно все же
> > > подскажите как мне правильно
> > > переписать эти реврайты , хочу просто
> > > понять принцип .
> >
> > Принцип очень простой - забыть о реврайтах как о страшном сне:
> >
> > location /sig/ {
> >
> >    location ~ ^/sig/sig_([0-9].*)_([0-9].*)_mini.png$ {
> >         fastcgi_param  SCRIPT_FILENAME  /path/to/index.php;
> >         fastcgi_param  QUERY_STRING     id=$1&template=$2&mini=true;
> >         ...
> >    }
> >
> >    location ~ ^/sig/sig_([0-9].*)_mini.png$ {
> >         fastcgi_param  SCRIPT_FILENAME  /path/to/index.php;
> >         fastcgi_param  QUERY_STRING     id=$1&mini=true;
> >         ...
> >    }
> >
> >    ...
> > }


-- 
Igor Sysoev
http://sysoev.ru/en/

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


 




Copyright © Lexa Software, 1996-2009.