Moin!
Problematischer(oder auch nicht?) sind aber IMHO POST Parameter. Wenn ich ebenso wie im beispiel oben ein Formmukar per POST an "hallo" schicke mit den Parametern "q=a", dann funktioniert ja die Rewrite-Geschichte nicht mehr.
Wenn du POSTest, kannst du trotzdem mit ?-Parametern arbeiten, die von PHP logischerweise als $_GET ausgewertet werden.
Ich habe die Erfahrung gemacht, dass bei einem Rewrite die POST-Parameter dem Scipt index.php ganz normal zur Verfügung($_POST["q"]="a") stehen, als sei der Request direkt an dieses Script gegangen. Ich habe allerdings ein schlechtes Gefühl bei der Sache, da ich nicht wirklich verstehe wie das funktioniert. POST geht ja an STDIN von PHP, PHP schreibt das dann in $_POST, und/oder $_FILES.
Nein, ein schlechtes Gefühl ist vollkommen unnötig. Rewriting bastelt aus der von außen angefragten URL eine intern gültige URL, an die der Request dann gerichtet wird. Das ist eine Umsetzung, die ganz zu Beginn erledigt wird, lange bevor PHP ins Spiel kommt. Naja, "lange" bei .htaccess-Rewriting vielleicht nicht unbedingt, aber auf jeden Fall "vorher".
Sofern du das Rewriting nicht veranlaßt, einen Redirect auszugeben, halte ich diese Vorgehensweise für sicher und verläßlich.
- Sven Rautenberg
Signatur oder nicht Signatur - das ist hier die Frage!