Also...
Ich gebe mit perl den $ENV{'QUERY_STRING'} aus.
Rufe ich das Script über www.domain.ch/cgi-bin/test.cgi?action=8282 auf, so ist gibt mir der $ENV{'QUERY_STRING'} action=8282 zurück, was ja so sein soll.
Rufe ich es über die Rewrite Rule auf (RewriteRule news_(.*).html$ /cgi-bin/test.cgi?action=$1) www.domain.ch/news_8822.html , so erhalte ich als ausgabe ebenfalls das korrekte action=8822...
Wenn ich nun aber die einzelnen $ENV{'QUERY_STRING'} Einträge folgendermassen in ein Hash einlese:
$get_input = $ENV{'QUERY_STRING'};
@fv_pairs = split /&/ , $get_input;
foreach $pair (@fv_pairs) {
if($pair=~m/([^=]+)=(.*)/) {
$field = $1;
$value = $2;
$value =~ s/+/ /g;
$value =~ s/%([\dA-Fa-f]{2})/pack("C", hex($1))/eg;
$INPUT{$field}=$value;
}
}
Ist bei $INPUT{'action'} "nix drin"!
Ich versteh die Welt nicht mehr!