Hola Gustavo,
Tenes guardar en la base de datos la url, y luego en tu script buscar en la base no por el id sino por la url.
Para eso vas a necesitar un script que convierta el título en url (todo a minusculas, remplace letras acentuadas por comunes, ñ por n, espacioes por guiones y borre cualquier caracter extraño). Entonces debes hacer que tu panel de administración guarde en un campo de la base el título procesado como url.
En el htaccess debes lograr que la ultima parte de la url pase como variable al script de visualización. Por ejemplo, un rewrite que apunte
www.miweb.com/principal/como-lee-el-htaccess hacia
http://www.miweb.com/principal.php?u...ee-el-htaccess.
Luego desde tu script de visualización, cambias el SELECT para que busque por el campo url en lugar del clásico id.
Esta técnica genera urls muy buenas, pero tiene dos desventajas con respecto al clásico numérico autoincremental: primero, que no necesariamente evita la duplicidad (debes tener cuidado con eso) y segundo y más importante, que los tiempos de respuesta al buscar una cadena son mucho más largos que buscando un entero, por lo que no deberías usarla en tablas con muchos registros.