Hi!
Was steht wirklich in $_GET["path"]?
Scheint ein Problem der RewriteEngine zu sein, da der Teil ab dem "%" nicht mehr in $path enthalten ist.
Jein (vermutlich). Was kommt bei PHP an? Die phpinfo()-Ausgabe im unteren Teil ($_SERVER-Inhalt) wäre interessant. Ich nehme an, dass dort ein & zu sehen ist, und PHP das als Parametertrenner ansieht, woraufhin es $_GET entsprechend füllt.
Die URI "/de/Tipps+%26+Tricks" wird also mittels "RewriteRule ^de/(.*) /index.php?path=$1 [QSA,L]" übergeben als "Tipps "
Ich nehme an, gelesen zu haben, dass mod_rewrite die Escape-Sequenzen auflöst, bevor es ans Auswerten geht. Laut Apache-Dokumentation zu RewriteRule gibt es das Flag NE, das sich mit der Problematik beschäftigt. Allerdings sollte die Zeichen kodieren, wenn es nicht gesetzt ist. Anscheinend lässt es jedoch & unberührt, da das ja auch als Parametertrenner verwendet wird. Es ergibt sich nämlich das Problem, dass ein %26 nach dem Auflösen nicht mehr von einem Parametertrenner-& unterschieden werden kann.
Momentan fällt mir nicht ein, wie dieses Problem gelöst werden kann.
Lo!