В вопросе человекопонятных URL я новичёк. Есть задача. Имею адрес вида: site.com/news.php?nid=9 Нужен вида site.com/news/9 и аналогично для articles и пр. страниц. Пишу следующее: Код (Text): RewriteEngine On Options +FollowSymLinks RewriteBase / RewriteRule ^news/([A-Za-z0-9]+)$ news.php?nid=$1 RewriteRule ^articles/([A-Za-z0-9]+)$ articles.php?id=$1 Почему у меня не считывается параметр $nid если в адресной строке прописать site.com/news/9 а если прописать site.com/news/?nid=9 то срабатывает? Как правильно составить правила?
^/news/... первый слеш ОБЯЗАТЕЛЕН, т.к. он часть пути. ты хоть прочитай что такое УРЛ и из чего он составлен предже чем ваять. к примеру тут http://ru2.php.net/manual/ru/function.parse-url.php
Наличие либо отсутствие слеша никоим образом не повлияло на результат - открывалась страница news.php без передачи параметров. У меня вообще параметры не передаются никаким манером кроме site.com/news/?nid=9 Каким должно быть правило для приведения site.com/news.php?nid=9 в site.com/news/9 ?
"Спасибо". Разобрался - проблема в localhost, правильно составленные правила заработали на хостинге. Очевидно, проблема была в сборке Apach ("Denwer") или его настройках модуля mod_rewrite.