Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Возник вопрос по мод реврайту, не по написанию самих правил 
V
    Опции темы
immax
Дата 29.10.2007, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: нет
Всего: 2



Есть правила:
RewriteRule ^(.*)-(.*).html /index.php?var1=$1&var2=$2
RewriteRule ^(.*).html /index.php?var1=$1 

Когда правила по порядку ставишь вот так:
RewriteRule ^(.*)-(.*).html /index.php?var1=$1&var2=$2
RewriteRule ^(.*).html /index.php?var1=$1 
оба правила работают.

Когда правила ставишь вот так:
RewriteRule ^(.*).html /index.php?var1=$1 
RewriteRule ^(.*)-(.*).html /index.php?var1=$1&var2=$2

Работает только первое.

Не могу понять почему, объясните плз, очень интересно... По моим догадкам во втором случае начинает применятся первое, где только одна переменная, и когда находит аппендикс в ссылке дело глохнет, а второе не срабатывает... Но в первом случае-то всё ок...


--------------------
Would yo kindly...?
PM MAIL   Вверх
ZeeLax
Дата 29.10.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 2
Всего: 88



Цитата(immax @  29.10.2007,  23:29 Найти цитируемый пост)
Когда правила ставишь вот так:
RewriteRule ^(.*).html /index.php?var1=$1 
RewriteRule ^(.*)-(.*).html /index.php?var1=$1&var2=$2

Работает только первое.

Ээээ.... так всё же попадает в первое. Даже то, где есть дефис. Что тут рассказывать то?


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
immax
Дата 30.10.2007, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: нет
Всего: 2



Я описал, что рассказывать. Чем отвечать вопросом на вопрос- лучше промолчать...  Я сам великолепно понимаю, что правила вытекают одно из другого, видишь ли под разное количество переменных для одного и того же скрипта приходится писать разные правила.  было бы три переменные, было бы третье правило...

Повторюсь:
Я спрашиваю почему из-за перестановки данных правил местами меняется их работоспособность. 

RewriteRule ^(.*)-(.*).html /index.php?var1=$1&var2=$2
RewriteRule ^(.*).html /index.php?var1=$1 

так работают оба правила...

RewriteRule ^(.*).html /index.php?var1=$1 
RewriteRule ^(.*)-(.*).html /index.php?var1=$1&var2=$2

а так только первое... когда скрипту отдаю одну переменную (1.html) ссылка в ?var1=$1  переписывается нормально, но когда две-нет.
после изучения доков я могу написать правило под свои нужды, но вот я не понимаю почему из-за перестановки правил местами меняется их работоспособность...
--------------------
Would yo kindly...?
PM MAIL   Вверх
ZeeLax
Дата 30.10.2007, 04:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 2
Всего: 88



Цитата(immax @  30.10.2007,  03:12 Найти цитируемый пост)
Чем отвечать вопросом на вопрос- лучше промолчать...

Чем язвить, лучше понять, что конструкция .* прекрасно захватывает конструкции вида stringstring1-string2vasya-petya и т.п. Она перепишет всё это, к примеру, в /index.php?=string1-string2 (если подать на вход второй образец). Естественно, при успешном совпадении и переписывании, под второе правило это уже не попадает и преобразование завершится.

Это сообщение отредактировал(а) ZeeLax - 30.10.2007, 04:47


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
immax
Дата 30.10.2007, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: нет
Всего: 2



Блин, короче правила выполняются по очереди.  

То, что ты мне отвечал, я примерно описал своими словами в своём первом посте... =)
--------------------
Would yo kindly...?
PM MAIL   Вверх
ZeeLax
Дата 30.10.2007, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 2
Всего: 88



Цитата(immax @  30.10.2007,  18:51 Найти цитируемый пост)
Блин, короче правила выполняются по очереди.  

Ну, извините, в документации это отражено.

Добавлено через 20 секунд
Вопрос ещё стоит?


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
immax
Дата 31.10.2007, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 19.6.2005

Репутация: нет
Всего: 2



Нет, уже не стоит... 
По этому поводу перечитывал несколько раз подробнейшую статью  о мод реврайт и не нашёл ответа, вот и спросил. 
--------------------
Would yo kindly...?
PM MAIL   Вверх
ZeeLax
Дата 31.10.2007, 04:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 4388
Регистрация: 20.8.2006
Где: Алма-Ата

Репутация: 2
Всего: 88



Тогда пометьте решенным.
Вот тут лучший мануал smile


--------------------
Utility is when you have one telephone, luxury is when you have two, opulence is when you have three — and paradise is when you have none.
— Doug Larson
PM MAIL WWW ICQ Skype Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.1453 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.