| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > mod_rewrite искажает данные |
| Автор: lxx 16.12.2009, 19:34 | ||||
| Приветствую! Пытаюсь в CGI-скрипт на перле передать c использованием mod_rewrite некоторые параметры. Латинские символы и числа передаются нормально, однако коды спецсимволов тупо исчезают из передаваемых данных. Скрипт:
Вызываю http://localhost/cgi-bin/script.pl?param=C%2B%2B В ответ, как и положено, получаю надпись C++. Создаю файл .htaccess следующего содержания:
Вызываю http://localhost/param/C%2B%2B И получаю в ответ C. Внимание, вопрос! Куда пропало %2B%2B и как с этим бороться? ЗЫ: Подстановка в RewriteRule флага NE не исправила ситуацию. |
| Автор: boltayka 18.12.2009, 16:32 |
| Похожая проблема была... http://forum.vingrad.ru/forum/topic-282711.html попробуй в .htaccess заменить (.*?) на ([^/\.]+) з.ы. Если не поможет - допиши [L] - по идее будет работать |
| Автор: lxx 18.12.2009, 19:13 |
| В ходе экспериментов выяснилось, что пропадают только коды символов + и #. boltayka, это тоже пробовал, не помогло. Нашел два варианта решения: 1. Выполнять подстановку внаглую из %{THE_REQUEST} 2. Использовать флаг B http://2lx.ru/2009/12/mod_rewrite-i-peredacha-specsimvolov/ |