Auf Deutsch: RewriteRule ist zum _Ändern_ der URI da, mit RewriteCond legst Du fest, _ob_ die URI überhaupt geändert werden soll. Jeder Block aus RewriteCond-Anweisungen gehört dabei zu der jeweils darauf folgenden RewriteRule-Anweisung.
Schätze mal, das bringt vor allem in Sachen Performance was, wenn man diese Rules anwendet, oder? Also so, daß nicht in jedem Fall der reguläre Ausdruck ausgewertet werden muß, oder?
Nein. RewriteRule wird auf jeden Fall "angetestet", wenn das Muster passt, werden die Bedingungen in RewriteCond geprüft. Mit RewriteCond kannst Du noch eine ganze Menge mehr testen, als nur die Adresse. Siehe Anleitung.
Probier mal etwas in der Richtung
RewriteRule ^/test/(.*)/(.*)/(.*).html$ /test/$2.php?$0=$1
Blöderweise geht das nicht :-(
Tja, da hilft wohl nur noch, hinten ein [R,L] ranzuhängen und ein wenig rumzuprobieren. Das R sollte bewirken, daß Dein Browser die neue Adresse in seiner Adressleiste anzeigt. Du kannst also prüfen, was mod_rewrite aus einer eingebenen Adresse macht und dann entsprechend rantasten.
Vielleicht fängst Du auch einfach erstmal mit ^/(.*)$ an und baust das dann Stück für Stück aus. Wie heißt es so schön: Probieren geht über studieren :)
Gruß,
soenk.e