quando generi i link generali mettendo l'id in coda dopo una / (così il rewrite lo trova) e prima metti il titolo opportunamente "filtrato" (elimini caratteri speciali, etc. e lo rendi tutto minuscolo), tipo:
Codice PHP:
$id = ...
$titolo = ...
$link = "..../?id=$id"; // adesso è così, invece (potresti usare le regexp, se riesci...):
$titolo = strtolower(trim($titolo));
$titolo = str_replace(array(' ', 'à', 'è', 'é', ...), array('-', 'a', 'e', 'e', ...), $titolo); // sostituzioni
$link = "..../$titolo/$id";