Ocultar las extensiones con .htaccess

Publicado el en la categoría Apache

Gracias al fichero .htaccess podemos modificar los enlaces internos de nuestro sitio web, eliminando sus extensiones, así conseguiremos unas urls “mas amigables”.

Por ejemplo, si tenemos en nuestro sitio web una página llamada http://miweb/contacto.php podremos acceder a ella tanto si indicamos “http://miweb/contacto” como si escribimos “http://miweb/contacto.php”

Para esto, deberemos recurrir al fichero de configuración .htaccess y añadirle el siguiente código:

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

Este código nos permite acceder a los ficheros .php tanto si indicamos su extensión como si lo no hacemos. En el caso de que nuestro sitio web utilizara ficheros .html, deberiamos sustituir la linea

RewriteCond %{REQUEST_FILENAME}\.php -f

por esta otra:

RewriteCond %{REQUEST_FILENAME}\.html -f

Comentar que la instrucción RewriteEngine depende del módulo mod_rewrite de Apache, y es necesario que esté instalado y activado. Por defecto esto es así la mayoría de las veces, pero para estar seguros lo mejor será crear un fichero “info” y revisar si tenemos dicho módulo instalado.

Crearemos el fichero con el siguiente código:

<?php
phpinfo();
?>

Guardaremos y lo ejecutaremos para comprobar la existencia del módulo mod_rewrite.

Ocultar las extensiones con .htaccess

Facebooktwittergoogle_plus