Всем привет, прошу помочь... На сайте ссылки вида Подарочная косметика Для женщин Для мужчин Если выбрано "Подарочная косметика " то урл имеет вид - "http://podarkov.net.ua/present_cosmetic.html" Если выбрано "Для женщин " то урл имеет вид - "http://podarkov.net.ua/present_cosmetic/dlya_zenchin.html" Второе решаеться правилом - RewriteRule ^(.*)/(.*).html$ view.php?cat=$1&podcat=$2 Но как быть с первым, если запишем RewriteRule ^/(.*).html$ view.php?cat=$1 то это правило перекроет приведенное выше и если нажать ссылку вида "Для женщин" то в $_GET[cat] = "present_cosmetic/dlya_zenchin", а не "dlya_zenchin"! как следует поступить? вариант может такой - проверяем урл если он вида http://site/present_cosmetic/dlya_zenchin.html запускаем правило RewriteRule ^(.*)/(.*).html$ view.php?cat=$1&podcat=$2 а если урл вида http://site/present_cosmetic.html то запускаем RewriteRule ^/(.).html$ view.php?cat=$1 НО КАК ТАКУЮ ПРОВЕРКУ РЕАЛИЗОВАТЬ В .htaccess ?????
Ты ведь сам ответил на свой вопрос, что надо реализовать 2 правила Code: RewriteRule ^([^/]+)/([^/]+)\.html$ view.php?cat=$1&podcat=$2 RewriteRule ^([^/]+)\.html$ view.php?cat=$1
Второе не перекроет первое... т..к запросы разные, в первом случае это "view.php?cat=$1&podcat=$2", а во втором "view.php?cat=$1", мод реврайт действует точно по rewriterule
Для того, чтобы сделать правило более приоритетным, размещай его выше, чем менее приоритетное, и ставь в конце Code: [L] .
Содержание .htaccess: RewriteRule ^(.*).html$ view.php?cat=$1 RewriteRule ^(.*)/(.*).html$ view.php?cat=$1&podcat=$2 При ссылке http://site/present_cosmetic.html $_GET[cat] = present_cosmetic При ссылке http://site/present_cosmetic/dlya_zenchin.html $_GET[cat] = present_cosmetic/dlya_zenchin т.е первое правило как бы говорит все, что после индекса в переменную $1( оно прекрівает первое ) но это нужно только когда ссылка вида http://site/present_cosmetic.html А при ссылке вида http://site/present_cosmetic/dlya_zenchin.html в эту переменную $1($_GET[cat] ), записивает present_cosmetic/dlya_zenchin Все начинает работать если первое правило отключить...
Да, насколько я помню, поднимали уже тему про мод-реврайт... пользуйся поиском, может чего полезного найдешь