Ocultar extensiones en url

Siempre me han gustado las URL amigables, que fueran simples llamadas sin caracteres raros ni extensiones de archivos como .html o .php. Siempre queda mucho más clara una llamada a http://carlosfaria.info/contacto que algo como http://carlosfaria.info/index.php?sec=contacto.

En el caso de mi portafolio,  que por cierto acabo de subir, quería ocultar las extensiones de archivos de mis url.

Para ello simplemente modifiqué el fichero .htaccess del raiz de mi web y le añadí lo siguiente:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php

1. arranca el modulo mod_rewrite de Apache
2. si la petición es a un directorio real (uno que exista en el servidor), se ejecuta el contenido del directorio
3. si la petición es para un archivo .php que existe en el servidor se ejecuta ese archivo .php
4. si no se cumple nada de lo anterior se carga la página cogiendo el como nombre del fichero la url

Con esto en mi .htaccess todas las llamadas a mi dominio al estilo http://carlosfaria.info/nombre, intentarán cargar la página http://carlosfaria.info/nombre.php. Si esta existe la mostrará, dejando la url intacta.