Экранирование спец. символов в mode_rewrite

  • Автор темы Лисю
  • Дата начала

Лисю

Guest
Экранирование спец. символов в mode_rewrite

ман:

Что касается Apache 1.3.20, специальные символы в СравниваемаяСтрока и Подстановка строках могут быть экранированы (имеется ввиду, отношение к ним как к нормальным символам без их обычного специального значения) путем предшествующего им символа слеша ('\'). Другими словами, вы можете включать символ доллара в строку Подстановка используя '\$'; это не позволит mod_rewrite относиться к нему как к обратной ссылке.

но это не работает.
У меня такое выражение:

Код:
RewriteRule ^users/([0-9]+)/([0-9]+)\.xhtml[b]\?[/b]search=(.+)?&col=(.+)$	modules/users.xhtml?sep=$1&page=$2&search=$3&col=$4
знак вопроса mod_rewrite никак не хочет воспринимать как знак вопроса.

-~{}~ 04.10.05 14:08:

если знак вопроса заменить любым другим символом (таким например '-' ), то это выражение работает.
 

crocodile2u

http://vbolshov.org.ru
:)
Улыбнуло.
Лисю

RewriteRule ^users/([0-9]+)/([0-9]+)\.xhtml$ modules/users.xhtml?sep=$1&page=$2&%{QUERY_STRING}
 

Лисю

Guest
УГАГАГАГАА!!!!!!!!!!!

crocodile2u пасиб! :)

хм.. а почему это
Код:
RewriteRule ^users/([0-9]+)/([0-9]+)\.xhtml$
совпадает с этим:
Код:
http://cms/users/1/4.xhtml?search=%EE&col=user_town
разве QUERY_STRING не берётся в расчёт при поиске?
 

crocodile2u

http://vbolshov.org.ru
Насколько я понимаю, нет. Да и зачем??? Кстати, query - это вообще отдельная часть URL. mod_rewrite же работает только с path, хотя query_string можно, естественно, выцепить.
 
Сверху