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!