Die RewriteRule
^(.+)\.html$ irgendwas
ersetzt alle Adressen mit der Endung .html - andere Rules, die Adressen mit der Endung .html ersetzen wollen, gehen dann leer aus - es sei denn sie werden zuerst ausgeführt. Die Reihenfolge muss so gewählt werden, dass speziellere Ausdrücke vor den allgemeineren Ausdrücken ersetzt werden. Und zweimal hintereinander ^(.+)\.html$ funktioniert schon gar nicht, für die zweite Rule bleibt nichts mehr übrig. In solchen Fällen muss man speziellere Ausdrücke schaffen, wie z.B. ^(.+)-(.+)\.html$ - und die spezielleren Ausdrücke vor der allgemeineren ersetzen
Da es noch mehr solcher Seiten gibt habe ich weitere solcher Seiten mit dem .htaccess Code darunter eingefügt. Diese Seiten funktionieren aber nicht (sind aber nach dem gleichen Schema).
Wenn du mehrere unterschiedliche Ersetzungen haben möchtest, dann dürfen diese nicht exakt das gleiche Schema aufweisen, d.h. sie müssen sich im Suchmuster unterscheiden, denn ansonsten kommt immer nur die erste Rule zum Zuge
Noch ein Beispiel aus meinem eigenen Forum: damit die URLs für die Foren und die Threads unterschieden werden können, weisen die ersteren ein -f- auf, die letzteren ein -t-. So kommen sich die entsprechenden Rules nicht gegenseitig ins Gehege