
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|||||
![]() ![]() 武士道 ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 1389 Пользователь №: 28342 На форуме: Карма: 29 ![]() |
Подскажите почему правило может не срабатывать
RewriteRule ^([a-zA-Z]+)/([a-zA-Z]+)$ list?l=$1&g=$2 [L,QSA]Этот фрагмент работает идеально RewriteRule ^([a-zA-Z]+)$ edit?c=$1 [L,QSA] а вот этот не срабатывает, т.е. если адрес имеет вид site/edit?c=settings тогда страница открывается, а когда меняю ссылку на site/settings тогда выдаётся собщение что я зашёл без параметра, почему? Спустя 1 час, 7 минут, 29 секунд (29.12.2011 - 11:23) McLotos написал(а): Нашёл в чем причина, в списке RewriteRule первыми стоят правила, которые относятся к List, а после них правила относящиеся к Edit, поэтому когда идёт обработка адреса, он сверяет их с адресами List, а до Edit не доходит, почему? Что можно сделать? Спустя 50 минут, 16 секунд (29.12.2011 - 12:13) McLotos написал(а): Вот полный код .htaccess AddDefaultCharset UTF-8 Спустя 1 час, 31 минута, 17 секунд (29.12.2011 - 13:44) killer8080 написал(а):
А с чего бы ему туда доходить? Если условие одно и то же для обоих правил, и стоит флаг L ![]() Спустя 50 минут, 23 секунды (29.12.2011 - 14:34) McLotos написал(а): А что нужнго сделать чтобы заработало? Просто везде даётся только по одному примеру, но нигде не объясняют как нужно сделать, если у меня к примеру несколько разных файлов и несколько разных типов запросов. Ну вот как меня в файле, List может обрабатывать от 1 до 3х разных параметров есть ещё page, edit, и куча других, каждый из которых тоже обрабатывает разное колличество данных. Спустя 1 минута, 29 секунд (29.12.2011 - 14:36) McLotos написал(а): и вообще есть какоие-то мануалы чтобы понять как это всё работает, читал на irbis, но что-то там не очень подробно описано, или я уже совсем тугой. Спустя 30 минут, 42 секунды (29.12.2011 - 15:07) killer8080 написал(а): McLotos на ирбисе все достаточно подробно расписано. Почитай раздел ЧПУ.
Вот поэтому и делают общую точку входа, чтоб не парится с правилами под каждый запрос RewriteEngine on в index.php делается роутер, который разбирает запрос и определяет какой контроллер подключить. -------------------- программирование - инструмент для решения конкретных задач, любая попытка спроектировать что-то универсальное приведет к провалу.©paul85
В любом случае тебе прийдётся пройти путь изобретения велосипеда, который прошли другие, только причиной твоего изобретения будет непонимание принципов работы велосипеда изобретённого другими людьми.©SlavaFr jQuery это попытка использовать АН-225 для перевозки зубочистки |
||||
![]() |
![]() ![]() ![]() |