Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Ошибка в RewriteRule

2.8K
29 ноября 2006 года
Unglued
119 / / 15.09.2005
Сдраствуйте.

Пишу следущее:

RewriteCond %{QUERY_STRING} &sort=1a&manufacturers_id=([0-9]+)&categories_id=&cars_price&urlmark=(.+)&urlmodel=
RewriteRule ^(.*)advanced_search.php.*$ $1car/%2 [R]

После этого ожидаю оказаться на
"http://domain.ru/car/Audi"

но вместо этого оказываюсь на
"http://domain.ru/car/Audi?action=search&sort=1a&manufacturers_id=7&categories_id=&cars_price&urlmark=Audi&urlmodel="

Почему добавляется ?action=search&sort=1a&manufacturers_id=7&categories_id=&cars_price&urlmark=Audi&urlmodel=????

В чем ошибка то?

Спасибо.
2.8K
04 декабря 2006 года
Unglued
119 / / 15.09.2005
Неужели никто не знает ответа? Ну ребят, ну вы хоть попробуйте что-то предположить!
8
04 декабря 2006 года
mfender
3.5K / / 15.06.2005
1. Не поднимай тему, да ещё и в ночь воскресенье-опнедельник: люди спят
2. Ты не туда пытаешься попасть. Всё наизнанку. Если хочешь попасть на http://domain.ru/car/Audi,то и правило для него надо писать, чтобы попасть на advanced_search.php

Я правильно понял, что в браузере набирается именно http://domain.ru/car/Audi?
2.8K
04 декабря 2006 года
Unglued
119 / / 15.09.2005
Нет в браузере я как раз набираю
"http://domain.ru/advanced_search.php?action=search&sort=1a&manufacturers_id=7&cate gories_id=&cars_price&urlmark=Audi&urlmodel="

Если же я набираю "http://domain.ru/car/Audi", то все замечательно работает.

Но мне как раз надо чтобы при наборе верхнего адреса перекидывалось на "http://domain.ru/car/Audi", а вот его надо проинтерпритировать как верхний однако в адресной строке должно быть отображено именно "http://domain.ru/car/Audi" без параметров.

Вся эта байда необходима в обход криво написанному движку сайта, который переписать не представляется возможным.
7.3K
06 декабря 2006 года
JB13
64 / / 05.09.2005
Не проверял, но мне кажется, что из-за "жадности" в регулярных выражениях. Попробуй так.

 
Код:
RewriteCond %{QUERY_STRING} &sort=1a&manufacturers_id=([0-9]+)&categories_id=&cars_price&urlmark=(.+?)&urlmodel =
RewriteRule ^(.*?)advanced_search.php.*$ $1car/%2 [R]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог