Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Кипит моск (( mod_rewrite 
:(
    Опции темы
MsJulia
Дата 9.8.2012, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



RewriteEngine On
RewriteBase /

RewriteRule возраст/([0-9]+)-([0-9]+) love?years_up=$1&years_to=$2 [QSA,R]
RewriteRule Парни ?who=1 [QSA,R,L]

--------------------------------------------------------

отправляю туда:
http://пример.рф/love/Девушк...раст/25-30/

по идее он первой строкой должен изменить url и вторая сработать не должна, но она срабатывает всёравно... на выходе 
http://пример.рф/?who=1&years_...amp;years_to=30

---------------------------------
по большому счёту оно мне и надо, но как оно работает понять не могу :(

" абстрагироваться от путей и ссылок и рассматривать то, с чем работает RewriteRule, как обычную строку. Эта строка передается от RewriteRule к RewriteRule, видоизменяясь, если какое-то из RewriteRule сработало.

В общем виде, если исключить сложности с использованием флагов (некоторые из которых мы рассмотрим ниже) и сложности с составлением регулярных выражений (которых мы почти не будем касаться в этой статье), RewriteRule работает ОЧЕНЬ просто.
1. Взяли строку.
2. Сравнили с регулярным выражением в первом аргументе.
3. Если есть совпадение — заменили всю строку на значение второго аргумента.
4. Передали строку следующему RewriteRule.
Вот, в общем, и все."

Если так, то второе правило сработать не должно было, ведь так?



======================================


"а сути не поняли" а как ещё можно понимать "Если есть совпадение — заменили всю строку на значение второго аргумента"

суть флага L мне отчасти понятна, здесь же я хотел схимичить обработку URL - несколькими идущими подряд правилами RewriteRule 

Для этого хотелось понять, что именно передаётся в СЛЕДУЮЩЕЕ RewriteRule после обработки первым без прекращения интерации флагом [L]

"Паутина" сказала, что преобразование идёт по цепочке, на деле есть то, что я описал...
PM   Вверх
MsJulia
Дата 10.8.2012, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



скажите кто-нибудь, что вернёт такой реврайт, при запросе http://мойлог.рф/один/четыре

RewriteRule один два?три=3 [QSA,R]
RewriteRule четыре ?пять=5 [QSA,R]

И главное, почему он возвращает оба параметра, если везде пишут что URL изменяется от правила к правилу...
PM   Вверх
egetmanenko
Дата 30.8.2012, 15:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Веб-разработчик



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

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



Цитата(MsJulia @  10.8.2012,  00:26 Найти цитируемый пост)
скажите кто-нибудь, что вернёт такой реврайт, при запросе http://мойлог.рф/один/четыре

RewriteRule один два?три=3 [QSA,R]
RewriteRule четыре ?пять=5 [QSA,R]

И главное, почему он возвращает оба параметра, если везде пишут что URL изменяется от правила к правилу... 


Вернёт: http://мойлог.рф/два/четыр...&пять=5

Потому что mod_rewrite не прекращает перезаписывать ваш урл сразу после первого совпадения. И даже после 1 прохода всех правил, mod_rewrite запустит второй проход. И только в том случае, если ни одно из правил не срабатывает, то mod_rewrite прекратит своё действие.
PM MAIL WWW ICQ Skype GTalk MSN   Вверх
infinityC
Дата 1.10.2012, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Так и не понял, как создать новую тему, поэтому вопрос сюда.

Есть реальный урл http://site.ru/objects/doma/dom1, то есть страницы на сайте имеют такую трехуровневую адресацию.
Как этот http://site.ru/objects/dom1 запрос преобразовать в вышеприведенный?

Я делаю так, но неработает:

RewriteRule ^objects/(.*)$ /objects/gallery/$1 [L]

Это сообщение отредактировал(а) infinityC - 2.10.2012, 08:26
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




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


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

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