Ocultar la extensión de tus archivos con .htaccess
Un detalle interesante para un proyecto web es hacer que las direcciones de las páginas sean fáciles de interpretar y recordar. Por ejemplo, www.tusitio.com/contacto es mucho mejor que www.tusitio.com/fomulario-contacto.php
Una parte del trabajo lo podemos hacer escogiendo nombres cortos, concisos y de ser posible sin ningún caracter raro en el medio del archivo. Para la otra parte recurrimos al .htaccess. Tenemos que abrirlo del servidor (o crearlo si no existe) y escribir lo siguiente:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.phpSi la extensión es diferente de PHP reemplazamos “.php” en la segunda y tercera línea por la extensión correspondiente como puede ser ASP, JSP, HTML o la que corresponda.
De este modo va a funcionar la dirección con o sin el nombre de la extensión al final. Sencillo y le da un toque más profesional a tus trabajos.

Alejandro
# 1 febrero 24th, 2010Hola Seba… muy bueno el tuto, pero aun no puedo hacerlo funcionar en un directorio donde tengo montado varios archivos .php. Ya subi el .htaccess pero aun no funciona, en que puedo estar errando? Abrazo!!!
Sebastián Thüer
# 2 febrero 25th, 2010@ale: El .htaccess tiene que estar en el mismo directorio que los archivos PHP, chequeaste eso?
Alejandro
# 3 febrero 25th, 2010Si, asi es, esta en la misma carpeta, pero aparentemente no lo reconoce o no se por que no funciona.
Sebastián Thüer
# 4 febrero 25th, 2010@Alejandro: Para que funcione necesitás que haya un link a sitio.com/pagina en lugar de sitio.com/pagina.php. Si escribís el nombre del archivo con la extensión (pagina.php) va a funcionar porque ese recurso existe en el servidor con ese nombre. El .htaccess se procesa cuando hay una petición a la al servidor y este reescribir la dirección, ¿se entiende?
Alejandro
# 5 febrero 25th, 2010Entendi mas o menos, entonces la pregunta seria, como lo implemento aqui:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
Sebastián Thüer
# 6 febrero 27th, 2010@Alejandro: Habría que verlo en detalle, depende de la configuración del servidor… Podrías consultar con el soporte técnico de tu hosting. Saludos
Miriam Lukas
# 7 mayo 30th, 2010Hola Sebastián, gracias por el post, esta muy bueno. Yo soy una novata en esto y queria preguntarte si puedo hacer la siguiente redireccion: http://www.mipagina.com/directorio/file.php –> http://www.mipagina.com/file
Miriam Lukas
# 8 mayo 30th, 2010Y bueno no se si me podrias dar un ejemplo claro y consiso para editar el archivo .htaccess en base al ajemplo. Gracias!!, saludos
Sebastián Thüer
# 9 mayo 31st, 2010@Miriam Lukas: Gracias por tu comentario, aquí te dejo un par de tutoriales sobre.htaccess: http://perlenespanol.com/articulos/archivo/000180.html y http://www.enespanol.com.ar/2006/04/03/tutorial-de-htaccess/
Saludos
Cristhian Diaz
# 10 mayo 16th, 2011MUUUUUCHAS GRACIAS HERMANO!!!!!, a hecho feliz a una persona, ahora espero que la felicidad que me diste se te multiplique por mil.
Mucho tiempo buscando este tutorial.
Sebastián Thüer
# 11 mayo 17th, 2011Cristhian, me alegro que se haya solucionado tu problema. Un saludo!
Emmanuel
# 12 agosto 17th, 2011Hay alguna manera de agregar una diagonal al final en lugar del .php
Por ej. http://www.mipagina.com/usuario.php
a
http://www.mipagina.com/usuario/
Sebastián Thüer
# 13 agosto 18th, 2011Emmanuel » Podrías probar con las reglas de .htaccess. Aquí hay un buen tutorial en español: http://www.enespanol.com.ar/2006/04/03/tutorial-de-htaccess/