ЧПУ с 2 параметрами через .htaccess

Тема в разделе "Mod Rewrite / htaccess / ЧПУ", создана пользователем kreator, 3 авг 2012.

  1. kreator

    kreator Создатель

    Заблокирован
    Регистр.:
    18 июн 2011
    Сообщения:
    113
    Симпатии:
    6
    • Созадание htaccess не имеет отношения к php
    Вопрос вроде бы распространный. И в ПС на этот вопрос миллионы страниц с ответами, да вот не получается, может кто подскажет на реальном примере:

    Есть 2 варианта ссылок, которые требуется сделать ЧПУ ссылками:

    1. http://сайт.ру/catalog?rubric=ball
    Чтобы было: http://сайт.ру/catalog/ball

    2. http://сайт.ру/catalog/profile?com=ball&id=ball2
    Чтобы было: http://сайт.ру/catalog/ball-ball2 или http://сайт.ру/catalog/ball/ball2

    Для пущей наглядности GET переменные в ссылках выделил жирно.
    Перечитал и перепробовал больше десятка вариантов из мануалов в инете и никак ...
     
  2. cruide

    cruide Писатель

    Регистр.:
    25 июл 2012
    Сообщения:
    8
    Симпатии:
    22
    Ну гдето както так будет:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^rubric/(.[a-zA-Z0-9]+)$ /catalog?rubric=$1
    RewriteRule ^catalog/(.[a-zA-Z0-9]+)-(.[a-zA-Z0-9]+)$ /catalog/profile?com=$1&id=$2
    </IfModule>

    Подобный вид "ЧПУ" уже давно морально устарел... советую поковырять php5 фреймы.
    Люди уже ухлдят от подобный извращений в .htaccess
    Да и вообще совет Вам мой... поресёрчить на тему htaccess и regexp
     
  3. raddead

    raddead Создатель

    Регистр.:
    16 мар 2008
    Сообщения:
    16
    Симпатии:
    1
    А подскажите пожалуйста как сделать красивые ссылки.
    К примеру:
    Есть ссылки вида:
    http://domain.com/?z=pages
    http://domain.com/?z=page&id=1

    Хочу сделать, чтобы в адресной строке уже становились вида:
    http://domain.com/pages
    http://domain.com/page/1

    Ещё лучше было бы если при наведении на них они стали такого вида сразу, т.е. уже выдавались таковыми...

    Скрипты в ZENDе. Их не могу ковырять.

    Как бы так сделать ?
     
  4. cruide

    cruide Писатель

    Регистр.:
    25 июл 2012
    Сообщения:
    8
    Симпатии:
    22
    Аналогию построения ЧПУ привел выше.

    Для примера:
    RewriteRule ^pages/(.[0-9]+)$ /?z=page&id=$1

    А вот сделать ссылки отображаемыми в таком виде... это уже правка скриптов...
    Но они у Вас "зазендены".
    Значит никак.