Proyectos Web

Ocultar extensión html/php de la url con htaccess

23 de Abril del 2018

Usar URL amigables en nuestro sitio mejora el sitio, además que es más fácil para los usuarios recordar tu dirección. Una de las cosas que debemos tener en cuenta para tener URLs amigables es ocultar la extensión al final de un archivo html o php. Para eso debemos usar el archivo htaccess, el cual es un archivo de configuración que se puede crear en todos los servidores basados en apache. 

Este archivo se debe colocar en la raíz del servidor, en algunos servidores se coloca donde está el archivo index. Eso ya depende del servidor. Sea donde coloquemos ese archivo lo creamos con el nombre .htaccess. Así, sin más. no olvidar el punto(.) antes del nombre. 

Una vez creado el archivo debemos colocar el siguiente código:

RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html

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

Puedes copiar el código y copiarlo directamente en el archivo que acabas de crear, no hace falta cambiar nada.

Con las primera línea indicamos que este módulo se ejecutará en la raíz del documento. No hace falta cambiar esa línea.

La segunda línea activa el módulo Rewrite el que hace posible ocultar la extensión. 

Con las siguientes tres líneas le damos instrucción que oculte las extensiones html. Por último con las últimas 3 líneas ocultamos la extensión PHP. 

Este módulo trabaja con expresiones regulares, ya estaremos hablando de ello en otro artículo.

una vez creado tu archivo debes subirlo a tu servidor, aunque puedes probarlo desde localhost. Sim embargo... eso no es todo lo que debemos hacer. 

El último paso y uno de los más importantes el cual muchos pasan por alto es: quitar las extensiones en los enlaces de tu web.

Por ejemplo en las etiquetas de tu HTML deberías quitar la extensión de la página de la siguiente forma:

<a href="pagina1"> Página en HTML</a>
<a href="pagina2"> Página en PHP</a>

Como puedes observar en el atributo href se encuentra el nombre de la página, pero no tienen ninguna extensión. Este es el truco que muchos se olvidan al querer ocultar la extensión. Aunque por ahí algunos servidores en los cuales no hace falta. Sin embargo recomendamos hacerlo. 

Con eso al momento de dar clic en algun enlace para ir a un sitio web no aparecerá la extensión HTML o PHP al final del archivo.

También te dejamos un video con la explicación de este artículo.

Esperamos que este artículo les sea de mucha utilidad.