Hi,
Ich hab eine ganz kleine RewriteRule die eigentlich funktionieren sollte doch ich finde den Fehler nicht.
.htaccess:
RewriteRule ^([^/]+)/?$ index.php?command=$1index.php:
echo $_GET['command'];Browserzeile:
/test/Wieso zum Geier ist command immer 'index.php'??
Weil /test/ auf index.php?command=test umgeschrieben wird - und dann der naechste Durchlauf erfolgt, der das wiederum auf index.php?command=index.php umschreibt, weil dein Suchausdruck auf index.php natuerlich ebenso matcht wie auf test.
Scheinbar tritt dieses Problem nicht auf wenn man ein [QSA] Flag anhängt!
Dann wird die interne Unterabfrage nach index.php?command=test wiederum auf index.php?command=index.php umgeschrieben (der Querystring-Part wird von der RewriteRule nicht beachtet) - und durch das Flag QSA wird dann noch der urspruengliche Querystring-Inhalt command=test hintendran gehaengt.
Das laeuft auf index.php?command=index.php&command=test hinaus, wobei PHP dir nur den letzten Wert in $_GET['command'] zur Verfuegung stellt, weil dieser den ersten Parameter ueberschreibt.
MfG ChrisB