RewriteEngine on
Hier möchtest Du noch "RewriteBase /" einfügen.
RewriteRule (.*) rewrite.php?dsi=$1
wenn ich example.com/asdf/asdf aufrufe, gibt das rewrite.php mit $_SERVER["REDIRECT_URL"] "/asdf/asdf" aus. Rufe ich ohne Ordner auf, dann gibt es "/" aus.
var_dump($_REQUEST); gibt "dsi=rewrite.php" aus. Kapier ich nicht,
Nachdem die Original-URL in "rewrite.php?dsi=$1" abgeändert wurde, wird die URL vom Webserver (intern) nochmals verarbeitet und kommt somit auch nochmals an Deiner RewriteRule-Zeile vorbei, die natürlich auch auf rewrite.php passt. Deshalb bekommst Du a) als aktuelle URL "rewrite.php" ausgegeben und b) eine Variable namens REDIRECT_URL (weitergeleitete (!) URL) geliefert, in der Original-URL steht.
Die hier drohende Endlosschleife bricht mod_rewrite erfreulicherweise von alleine ab.
Fängt die redirect_url _immer_ mit "/" an?
Absolute Pfade fangen immer mit einem Schrägstrich an, ja.
Und ist es richtig, dass ich die dann zB. einfach mit explode() auseinandrepflücken kann und die Parameter im Array bearbeite, oder gibts da eine elegantere Methode
Nein.