Нужна помощь с регуляркой (ЧПУ)

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем danneo, 18 дек 2013.

  1. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.418
    Симпатии:
    109
    Есть ссылки:
    Код:
    index.php?do=firms&areaname=rossiya&catname=podcat
    Нужно для нее регулярку для преобразования в ЧПУ, с учетом, что вложенных категорий может быть много. С одной категорией могу, а вот когда их много, не получается.
    Могуть быть такие ЧПУ:
    Код:
    /firms/all/diagnostica/
    /firms/all/diagnostica/diagnostic-uzi/
    /firms/all/diagnostica/diagnostic-uzi/podcat/
    /firms/all/diagnostica/diagnostic-uzi/podcat/podcat/
    Или такая ссылка (+ указана страница)
    Код:
    index.php?do=firms&areaname=rossiya&catname=podcat&p=4
    Соответственно, ЧПУ нужно с учетом вложенных подкатегорий и номера страницы:
    /firms/all/diagnostica/diagnostic-uzi/podcat/page-4.html
     
    Последнее редактирование модератором: 18 дек 2013
  2. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.418
    Симпатии:
    109
    я сделал вот так, работает:
    Код:
    RewriteRule ^firms/(.*)/(.*)/(.*)/(.*)/$ index.php?do=firms&areaname=$1&catname=$4 [L]
    RewriteRule ^firms/(.*)/(.*)/(.*)/$ index.php?do=firms&areaname=$1&catname=$3 [L]
    RewriteRule ^firms/(.*)/(.*)/$ index.php?do=firms&areaname=$1&catname=$2 [L]
    Но проблема в том, что это нужно писать для каждого нового подуровня. А если их много? А если добавиться еще одна переменная.
    Должно же быть правило описать это универсально?