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.php
Si 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.








(9 votos)
Alejandro (4 comments)
# 1 February 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 (159 comments)
# 2 February 25th, 2010@ale: El .htaccess tiene que estar en el mismo directorio que los archivos PHP, chequeaste eso?
Alejandro (4 comments)
# 3 February 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 (159 comments)
# 4 February 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 (4 comments)
# 5 February 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 (159 comments)
# 6 February 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 (2 comments)
# 7 May 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 (2 comments)
# 8 May 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 (159 comments)
# 9 May 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