Ответ
AlexanderM 24.01.2014 12:37
Строки, делающие внешний редирект (с R) убирал (вообще убирал все правила, кроме одного), NE флаг в дополнение к L,QSA ставил. Эффекта нет.
Спасибо за printenv.pl, а то у меня версия парсера 3.4.0 - там нет возможности получить список всех переменных окружения.
Сделал правило:
RewriteCond %{REQUEST_URI} /perl/
RewriteRule (.*) /system/test.pl [L,QSA]
Запустил
http://www.sovets.ru/perl/?ss=тестЧто получилось смотрите ниже. Как видите, QUERY_STRING правильная. Значит в перловых скриптах проблемы нет. Получается, что всё-таки Парсер и Апач друг друга не понимают?
Кстати, я с самого начала не указал: версия Парсера 3.4.0 (ой! я что-то был уверен, что 3.4.2), версия Апача 2.2.23.
На хостинге есть возможность "в десяток кликов" обновиться до версии Парсера 3.4.2, но лучше наверное уж сразу до 3.4.3 обновляться. Сейчас задам такой вопрос в техподдержку.
DOCUMENT_ROOT="/home/virtwww/w_sovets-ru_5851801c/http"
GATEWAY_INTERFACE="CGI/1.1"
HTTP_ACCEPT="text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_ACCEPT_ENCODING="gzip, deflate"
HTTP_ACCEPT_LANGUAGE="ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3"
HTTP_CONNECTION="keep-alive"
HTTP_COOKIE="on=1; client=5B8EC62D5D448945; name=admin; __utma=1925171.852410461.1324501756.1378186429.1378230925.652; __utmz=1925171.1371806069.564.13.utmcsr=odnoklassniki.ru|utmccn=(referral)|utmcmd=referral|utmcct=/dk; reforum_uid=91ec07bfcd7d1647a03b62657f116bbd; kdmUserUnqID=570139307; session=EFF7D4CC8E2D780D; test=ABC; rtbPagerPage1097=1; rtb_history1097=8%3A1%7C8%3A1%7C8%3A1%7C8%3A1%7C8%3A2%7C8%3A1%7C8%3A1%7C8%3A1%7C8%3A1; rtb1097p=1; rtb1097p8=1"
HTTP_DNT="1"
HTTP_HOST="www.sovets.ru"
HTTP_USER_AGENT="Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0"
HTTP_X_FORWARDED_REQUEST="GET /perl/?ss=%D1%82%D0%B5%D1%81%D1%82 HTTP/1.1"
HTTP_X_FORWARDED_URI="/perl/?ss=%D1%82%D0%B5%D1%81%D1%82"
PATH="/usr/local/bin:/usr/bin:/bin"
PHPRC="/home/virtwww/w_sovets-ru_5851801c/.php/"
QUERY_STRING="ss=%D1%82%D0%B5%D1%81%D1%82"
REDIRECT_QUERY_STRING="ss=%D1%82%D0%B5%D1%81%D1%82"
REDIRECT_STATUS="200"
REDIRECT_URL="/perl/"
REMOTE_ADDR="95.153.200.124"
REMOTE_PORT="2501"
REQUEST_METHOD="GET"
REQUEST_URI="/perl/?ss=%D1%82%D0%B5%D1%81%D1%82"
SCRIPT_FILENAME="/home/virtwww/w_sovets-ru_5851801c/http/system/test.pl"
SCRIPT_NAME="/system/test.pl"
SCRIPT_URI="http://www.sovets.ru/perl/"
SCRIPT_URL="/perl/"
SERVER_ADDR="81.176.228.3"
SERVER_ADMIN="[no address given]"
SERVER_NAME="www.sovets.ru"
SERVER_PORT="80"
SERVER_PROTOCOL="HTTP/1.1"
SERVER_SIGNATURE="<address>Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/1.0.0d mod_fcgid/2.3.7 Server at www.sovets.ru Port 80</address>\n"
SERVER_SOFTWARE="Apache/2.2.23 (Unix) mod_ssl/2.2.23 OpenSSL/1.0.0d mod_fcgid/2.3.7"