RewriteRule ^([0-9A-Za-z-]+)\.html gen.php?link=$1.html

a te basta solo questa riga
così fatta nella parte variabile accetta solo caratteri maiuscoli, minuscoli, numeri e il -

cmq attenzione ad eventuali malintenzionati, secondo le operazioni che compi in gen.php potrebbe essere molto insicuro