Chris: mod_rewrite zerstört Unicodes?

Beitrag lesen

  • *Wie* *genau* gibst du den Inhalt des GET-Parameters aus?
  • print_r($_SERVER) ergibt was? (relevante Bestandteile)

Hallo,

ich habe jetzt mal ne ganz einfache Testpage erstellt, die test.php. Der Inhalt sieht so aus:

<?
echo $_GET['var'];
?>

Nun kann man diese einmal so aufrufen:
test.php?var=Bremen+%26+Oldenburg

Oder auch so:
test_Bremen+%26+Oldenburg.html

Der Eintrag in der .htaccess sieht so aus:
 RewriteEngine on
 RewriteRule test_(.*).html$ test.php?var=$1

Die Seite hab ich online gestellt:
Ohne mod_rewrite: http://87.106.49.169/test.php?var=Bremen+%26+Oldenburg
Mit mod_rewrite: http://87.106.49.169/test_Bremen+%26+Oldenburg.html

Da sieht man die Problematik auch...

Die rewrite_log sieht so aus:
applying pattern 'test_(.*).html$' to uri 'test_Bremen+&+Oldenburg.html'
rewrite 'test_Bremen+&+Oldenburg.html' -> 'test.php?var=Bremen+&+Oldenburg'
uri=test.php, args=var=Bremen+&+Oldenburg
add per-dir prefix: test.php -> C:/Web/WebPages/WebChatSolutions/htdocs/test.php
strip document_root prefix: C:/Web/WebPages/WebChatSolutions/htdocs/test.php -> /test.php
internal redirect with /test.php [INTERNAL REDIRECT]
strip per-dir prefix: C:/Web/WebPages/WebChatSolutions/htdocs/test.php -> test.php
applying pattern 'test_(.*).html$' to uri 'test.php'
pass through C:/Web/WebPages/WebChatSolutions/htdocs/test.php

Man sieht, dass er aus dem %26 in der URL direkt ein &-Zeichen gemacht hat. Das dürfte das Problem sein... aber ich frage mich, wieso er %26 in ein & umwandelt, wo ich es doch extra mit urlencode() maskiert habe, damit es KEINE probleme gibt...

Grüße
Chris