Eso se denomina URL Amigable. .htaccess no necesita para nada acceder a una base de datos, simplemente se le indica que cuando en el navegador se escriba:
index.php/categoría/post/ lo interprete de forma interna como i
ndex.php?cat=^&post=^
mírate
este post para entenderlo mejor
el tema de que salga la palabra, es decir, el nombre del post en lugar del número, se consigue porque al crear un nuevo post te deja seleccionar qué dirección tendrá. En ese momento tú estás declarando que el post con la id=X es igual al post con el número=X
P.D: Por cierto, eso creo que WP lo hace internamente, mediante base de datos; Sino el htaccess sería terriblemente grande y haría que la página fuese mucho más lenta.