Ocultar la extensión de tus archivos con .htaccess

Escrito el 28 octubre 2009 por Sebastián Thüer

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.

Vía Newmediarts

Etiquetas:,

13 Comentarios Sobre Este Post — Agregar tu comentario

  1. Alejandro

    # 1 febrero 24th, 2010

    Hola 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!!!

  2. Sebastián Thüer

    # 2 febrero 25th, 2010

    @ale: El .htaccess tiene que estar en el mismo directorio que los archivos PHP, chequeaste eso?

  3. Alejandro

    # 3 febrero 25th, 2010

    Si, asi es, esta en la misma carpeta, pero aparentemente no lo reconoce o no se por que no funciona.

  4. 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?

  5. Alejandro

    # 5 febrero 25th, 2010

    Entendi 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

  6. 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

  7. Miriam Lukas

    # 7 mayo 30th, 2010

    Hola 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

  8. Miriam Lukas

    # 8 mayo 30th, 2010

    Y bueno no se si me podrias dar un ejemplo claro y consiso para editar el archivo .htaccess en base al ajemplo. Gracias!!, saludos

  9. 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 :)

  10. Cristhian Diaz

    # 10 mayo 16th, 2011

    MUUUUUCHAS 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. :)

  11. Sebastián Thüer

    # 11 mayo 17th, 2011

    Cristhian, me alegro que se haya solucionado tu problema. Un saludo!

  12. Emmanuel

    # 12 agosto 17th, 2011

    Hay 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/

  13. Sebastián Thüer

    # 13 agosto 18th, 2011

    Emmanuel » 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/


Dejar una Respuesta