Cerca di fare una regwx quanto più possibile descrittiva dell'url.
Vedi, il nome della pagina conterrà lettere minuscole, maiuscole, numeri - oppure _ Niente di più.
La tua regex, quindi, potrebbe essere già migliorata descrivendo questo tipo di dato:
^prodotti/([a-zA-Z0-9\-\_]+).html prodotti.php?prodotto=$1 [L]
Per il problema delle altre variabili prova ad inserire QSA nel flag. La regex diventa, quindi:
^prodotti/([a-zA-Z0-9\-\_]+).html prodotti.php?prodotto=$1 [L,QSA]
Fammi sapere. Ciao!