Ocultar, Quitar o Eliminar extensiones php/html con .htaccess

marzo 6, 2014

Ocultar, Quitar o Eliminar extensiones de php o html en tu web con .htaccess. títulos comos estos encontraras por toda la Internet, y en verdad funcionan, pero no lo explicar del todo bien, es por eso que hay mucha gente que no obtienen el resultado deseado. Bueno hoy vamos a hacerlo paso a paso de una manera que funcione al 100%.

Vamos a Quitar la extensión .html en este caso, si deseas quitar la extensión a un .php solo tienes que cambiar el html por el php en el siguiente ejemplo.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.html [NC,L]

Ahora si pegas ese código a tu archivo .htaccess y ves la ulr de tu pagina web, veras que aun no se quita la extensión, ese es el error de muchos. ahora paso a explicar el siguiente paso final para que funcione.

Lo único que tienes que hacer es quitar la extensión .html de tu archivo html, por ejemplo:
ASÍ SE VE TU HTML:

<a href="mis-servicios.html">Boton</a>

TIENES QUE QUITAR LA EXTENSIÓN DE TAL MANERA QUE QUEDE ASÍ:

<a href="mis-servicios">Boton</a>

RESULTADO: www.misitioweb.com/mis-servicios

SI DESEAS OBTENER LA BARRA AL FINAL DE TU URL
tienes que utilizar el siguiente código, recueda seguir los mismos parámetros del ejemplo anterior


RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/$ $1.php
RewriteRule ^([^/]+)/([^/]+)/$ /$1/$2.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]

RESULTADO: www.misitioweb.com/mis-servicios/

Nota: lo recomendable es que lo ejecutes en un servidor o en tu localhost, de lo contrario no te funcionara, por que necesitas apache para correr el .htaccess, si tienes alguna duda o no te funciona algo dilo en los comentarios, recuerda que si vas a quitar los .php tienes que reemplazar el html por php y viceversa, según se tu caso en el codigo en el archivo htaccess.

Relacionados