Allora inizio con il considerare siti già indicizzati
In questo caso è totalmente controproducente eseguire il rewrite dell'url in quanto se ad esempio avessimo la pagina :

1) www.sitoweb.it/notizia.php?id=116
sarebbe inutile trasformarla in una di questo tipo :
2) www.sitoweb.it/notizia/116.html

In quanto la pagina reale (cioè quella che esiste sul server) sarebbe la numero 1 (quella che è gia stata indicizzata) e la quale continuerebbe ad esistere anche se riscriviamo le nostre pagine . Il risultato di questa operazione sarebbe soltanto raddoppiare il numero di pagine presenti nella cache del motore ma duplicheremmo soltatno tutte quelle gia presenti
Se si vuole riscrivere l'indirizzo di pagine già indicizzate, è opportuno approntare uno script di questo tipo (in pseudo-php tanto per capire cosa fa)

Codice PHP:
$url_della_pagina $_SERVER['REQUEST_URI'];
$espressione_regolare "/\?/";
//Verifichiamo che nell'url ci sia un '?', se lo 
//troviamo assumiamo di trovarci di fronte l'url dinamico
if(preg_match($espressione_regolare$url_della_pagina)) {
//Se questa pagina è richiamata tramite url dinamico, allora
$nuova_pagina_statica //...qui le stesse regole che
// nell'htaccess trasformano la pagina da dinamica a statica
header("Location:".$nuova_pagina_statica);
//Redirect lato server alla pagina statica
//ovvero questa stessa pagina dopo il seguente 'else' ;-)
} else {
//Qui ci va il normale contenuto della pagina

Per i non-phpofili:
Questo script controlla l'url RICHIESTO per vedere se è dinamico oppure statico. Nel primo caso, fa un redirect lato server (codice 302 così com'è, ma si può cambiare) alla medesima pagina con indirizzo statico.
Per sapere a quale pagina reindirizzare basta analizzare l'indirizzo e usare le stesse espressioni che riscrivono l'url.