www.XXX.de/nachrichten.php?id=123&idx=3
Da habe ich das hier probiert:
RewriteRule ^(.*)/.*/([0-9]+)(/([0-9]*))$ /$1.php?id=$2&idx=$4
Geht theoretisch
Nein, RewriteRule vergleicht das Muster mit dem URL-Pfad. Der Pfad ist der Teil einer URL zwischen Domain (d.h. beginnend mit dem ersten Schrägstrich) und erstem Fragezeichen (ohne dieses). Die URL-Parametern gehören also _nicht_ dazu, diese kannst du nur mit RewriteCond und der Variablen QUERY_STRING vergleichen und abgreifen (und in die Ziel-URL einsetzen mittels %n).
Für dein Problem, das einfache Weitergeben der Parameter, ist davon unabhängig die Option QSA gedacht, wie von Beat schon erwähnt.