Du schaust dir am besten erst einmal die mod_rewrite-Anleitung an, sinnigerweise zuerst den Abschnitt zu
RewriteRule. Sonst weißt du nicht, wie das Teil überhaupt funktioniert bzw. was du hier eigentlich abtippst - und du möchtest das ja sicher irgendwann ohne Hilfe nutzen.
Und vor allem kann ich dar mehrere Weiterleitungen definieren ohne das die ornder1, ordner2, ... überhaupt existieren müssen?
Der Zugriff auf eine Datei ist mit der letzte Schritt, den der Apache beim Bearbeiten einer URL ausführt. mod_rewrite greift vorher ein, d.h. keine URL, die du mit mod_rewrite bearbeitest, muss tatsächlich auf der Festplatte als Datei oder Verzeichnis existieren.
Zum Stichwort „mehrere“ wäre noch anzumerken, dass RewriteRule meist mit Mustern eingesetzt wird. Dabei wird an Hand eines Musters ein Teil aus der gegebenen URL kopiert und zu einer neuen URL zusammengesetzt. Damit hast du die Möglichkeit, mit demselben Muster bzw. Schema gleich einen ganzen Packen an URL-Pfaden zu bearbeiten.
Beispiel:
RewriteRule ^ordner([0-9])/$ index.php?ordner=$1. Aus einem URL-Pfad, der
beginnt mit ordner, gefolgt von
einer Ziffer zwischen 0 und 9, gefolgt von einem Schrägstrich, gefolgt vom
Textende, wird von RewriteRule der Teil in den
runden Klammern kopiert und in den neuen Pfad dort eingefügt, wo $1 steht.
Aus ordner1 würde also index.php?ordner=1 werden und das ganze funktioniert entsprechend auch mit den anderen neun Ordnern von ordner0 bis ordner9.
mod_rewrite nutzt zur Mustererkennung die PCRE-Bibliothek. Sie kommt auch anderen Projekten zum Einsatz, in der
PHP-Anleitung findet sich eine recht ordentliche Beschreibung.
Geht sowas auch mit subdomains?
Ja, das hängt aber davon ab, wie die Subdomains realisiert wurden. Werden sie aus demselben Verzeichnis wie die Hauptdomain bedient, geht's (mittels RewriteRule vorgeschaltetem
RewriteCond %{HTTP_HOST} =sub.do.main), wenn nicht, dann in aller Regel nicht.