Welcome! Log In Create A New Profile

Advanced

Re: Преобразование настроек mod rewrite

June 06, 2011 03:36AM
On Sun, Jun 05, 2011 at 07:24:00AM -0400, hdcoder wrote:
> Спасибо за быстрый ответ.
>
> Движок Cotonti позволяет настраивать
> ссылки под любой вид. Ранее это
> делалось с помощью плагина, теперь
> параметры для нужных ссылок
> прописываются прямо в родной админке.
> Показанный вариант формирования
> ссылок используют далеко не все сайты
> на этом движке, но на мой взгляд он
> достаточно распространен по сравнению
> с другими. Я не изучал вопрос, но мне
> всегда казалось, что две универсальных
> строчки RewriteRule лучше, чем два и более
> десятка специально заточенных строк
> (ради более красивых ссылок).

Проблема многих разработчиков, а особенно разработчиков PHP, в том,
что они совершенно не представляют, что стоит за теми или иными изящными
буквами. Эти две универсальные строчки, да ещё в .htaccess (а как же,
ведь по-другому Апач не настраивается в принципе!) означают следующее:

1) Апач открывает/читает/парсит .htaccess;
2) компилирует регулярные выражение, закрывает .htaccess;
3) выполняет правила, первое сработало;
4) если второе правило не сработало, то переходим к пункту 1.

Вот такая универсальность и, не побоюсь этого слова, изящество!

Я PHP не знаю, но подозреваю, что с его помощью можно разобрать строку
"/forums-m-posts-q-9306.html" с куда меньшими накладными расходами.

> В данном варианте ссылок смысл
> достаточно простой:
>
> site.ru/forums.html
> site.ru/forums.php
>
> site.ru/list-c-catalog.html
> site.ru/list.php?c=catalog
>
> site.ru/page-al-my_best_article.html
> site.ru/page.php?al=my_best_article
>
> site.ru/forums-m-posts-q-9306.html
> site.ru/forums.php?m=posts&q=9306
>
> site.ru/page-al-text4-comments-1-ina-delete-ind-94-x-ee65d73c6b2aa4a5.html
> site.ru/page.php?al=text4&comments=1&ina=delete&ind=94&x=ee65d73c6b2aa4a5
>
> Т.е. по сути всегда просто имя файла +
> n-ое число параметров.
> Двух строчек RewriteRule для этого хватало.
>
> Как организовать подобный разбор с
> итерациями в nginx?

Так же тупо:

location / {
rewrite ^(/[a-z]+)-([0-9a-z]+)-([0-9a-z_]*)-?(.*)$ $1-$4?$2=$3;
rewrite ^(/[a-z]+)-?\.html$ $1.php last;
}


--
Igor Sysoev

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Re: Преобразование настроек mod rewrite

Igor Sysoev June 05, 2011 04:18AM

Re: Преобразование настроек mod rewrite

hdcoder June 05, 2011 07:24AM

Re: Преобразование настроек mod rewrite

hdcoder June 06, 2011 11:37AM

Re: Преобразование настроек mod rewrite

Pavel V. June 06, 2011 02:10AM

Re: Преобразование настроек mod rewrite

Igor Sysoev June 06, 2011 03:36AM

Re: Преобразование настроек mod rewrite

Igor Sysoev June 06, 2011 04:06AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 299
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready