mod_rewrite: Экранирование "?"

voituk

прозревший
mod_rewrite: Экранирование "?"

Нужно выполнить URL-преобразование:
http://site.com/go?1111&2222&333
в
http://site.com/goto.php?param1=111&param2=222&param3=333

Пишу такое правило:
RewriteRule ^/?go\?([0-9]+)&([0-9]+)&([0-9]+)$ /goto.php?param1=$1&param2=$2&param3=$3

Проблема в том, что запись \? не экранирует символ ? и mod_rewrite считает его управляющим.
Как экранировать символ "?"???
 

crocodile2u

http://vbolshov.org.ru
По-моему, все, что у тебя после "?", содержится в {QUERY_STRING}, и mod_rewrite на это не может повлиять. Впрочем, может быть, гуру скажут что-то более полезное.

Имхо, было бы удобнее так:
site.com/1111/2222/333/

переделать в:
site.com/goto.php?param1=111...&param3=333
 

catlion

Guest
Автор оригинала: crocodile2u
По-моему, все, что у тебя после "?", содержится в {QUERY_STRING}, и mod_rewrite на это не может повлиять.
Я конечно не гуру, но в свое время, выкурив немало rewrite-логов, понял то же самое :D
 

voituk

прозревший
Да уж... это диагноз
я сразу не догадался парсить {QUERY_STRING}...
Спасибо за подсказку
 
Сверху