#!/usr/bin/perl
use CGI;
$cgi = CGI->new();
print $cgi->header();
print $cgi->param('param');
mod_rewrite искажает данные
Пытаюсь в CGI-скрипт на перле передать c использованием mod_rewrite некоторые параметры. Латинские символы и числа передаются нормально, однако коды спецсимволов тупо исчезают из передаваемых данных.
Скрипт:
Код:
Вызываю http://localhost/cgi-bin/script.pl?param=C%2B%2B
В ответ, как и положено, получаю надпись C++.
Создаю файл .htaccess следующего содержания:
Код:
RewriteEngine On
RewriteRule ^param/(.*?)$ /cgi-bin/script.pl?param=$1
RewriteRule ^param/(.*?)$ /cgi-bin/script.pl?param=$1
Вызываю http://localhost/param/C%2B%2B
И получаю в ответ C.
Внимание, вопрос! Куда пропало %2B%2B и как с этим бороться?
ЗЫ: Подстановка в RewriteRule флага NE не исправила ситуацию.