Apache isn't the fastest or maximally customizable web server, its popularity comes from the fact that it provides a very good balance of these things bundled with maximum portability and reliability.
Вы не зашли.
привет всем!
есть проблемка с преобразованием запросов с помощью Mod_Rewrite.
я недавно его постигаю, наверное есть какая-то деталь, которую явно упускаю из виду.
итак:
строку вида:
http://www.mysite.ru/resume/uid~default
хочу преобразовать в:
http://www.mysite.ru/cgi-bin/script.pl?db=resume&uid=default
имею в .htaccess такое:
------------------
Options -Indexes +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteRule (.*)/(.*)~(.*) $1&$2=$3
RewriteRule ^resume(.*)$ cgi-bin/script.pl?db=resume$1 [L]
------------------
а в результате получаю такое:
http://www.mysite.ru/cgi-bin/script.pl?db=resume&uid=default/uid~default
-----------
потому возникают вопросы:
- нафига Mod_Rewrite добавляет в конце /uid~default ?
- как сделать по-правильному?
Я так подозреваю (судя по логам обработки строк), что эта байда связана с Path-info Postfix-манипуляциями - сначала отброшенными, а потом опять добавленными параметрами запроса.
А вот можно ли обойти этот шаг в процессе обработки?
уточню также, в общем случае подразумевается ЭНное число параметров в запросе,
т.е. из строки :
.../resume/uid~default/par2~222/par3~333
должно получиться:
.../cgi-bin/script.pl?db=resume&uid=default&par2=222&par3=333
по-моим прикидкам первое правило должно заменить все конструкции вида:
/aaa~bbb
на:
&aaa=bbb
и действительно, если оставить только первое правило - так и получается, имеем мы такую строку:
.../resume&uid=default&par2=222&par3=333
а второе правило должно просто вместо:
resume
вставить:
cgi-bin/script.pl?db=resume
а вот тут-то и прилепляются лишние конструкции, и я не пойму, как от них избавиться.
короче - хелп, плиз!
___________________
С уважением, Андрей
ranri@mail.ru
Неактивен