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
|