Экранированние символа "?" в RewriteRule. В чём ошибка?

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Экранированние символа "?" в RewriteRule. В чём ошибка?

Доброго времени суток.

Согласно ману, http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html
спецсимволы екранируются слешем
Но на символ "?" это правило почму-то это не действует.

Подскажите, пожалуйста где грабли.

RewriteRule ^search/\?s=(.+)$ /search.php?s=$1
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
2 Лисю
Спасибо.

Но вот как поступить если "?" все-таки нужен в паттерне?
 

bkonst

.. хочется странного?...
Никак. Насколько я помню, mod_rewrite не работает c query string (той частью, что идет после "?") - только дописывает.
 

Лисю

Guest
Mr_Max
ИМХО, если так подумать, а зачем может понадобиться в мод реврайт преобразовывать %{QUERY_STRING} в %{QUERY_STRING}?
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
2 Лисю
Я не понял что Вы имели ввиду.
Попытаюсь объяснить более подробно.

Я реорганизовываю структуру сайта
То-есть.
Если раньше было /index.php?razdel=1 то сделать редирект на новый урл.
RewriteRule ^/index.php?razdel=1$ /razdel_1/ [R]
А потом все єто дело, переписать "наоборот"
RewriteRule ^razdel_1/?$ /index.php?razdel=1
Насколько я понимаю мне поможет только RewriteCond + QUERY_STRING.
Поскажите, есть ли другие пути?
 
Сверху