Comprobar que Apache lee nuestro .htaccess

Es bastante habitual que nuestro sitio web, por la razón que sea, necesite utilizar un fichero .htaccess. Estos ficheros normalmente agregan alguna configuración especifica para nuestra web, como redirecciones, modificaciones de url (url’s limpias), protección de directorios, etc. La mayoría de CMS’s necesitan instalar ficheros .htaccess para sus correcto funcionamiento. En el caso de que exista algún error en nuestro sitio, tal vez sea producido por una mala implementación de este archivo. Aunque en caso de error, lo primero que podemos comprobar es si Apache es capaz de leer dicho fichero.

Fichero .htaccess de prueba

Es posible que por una configuración de nuestro servidor, estemos buscando algún error dentro de nuestro fichero .htaccess, y el problema sea que Apache no lo interpreta. Para estar seguro de esto, podemos crear dos sencillos ficheros. Uno será un fichero .html  de ejemplo y el otro será un .htaccess. Veamos el código:

Fichero test.html:

Fichero .htaccess:

Una vez creados los dos ficheros los subiremos a nuestro servidor. En el caso de que ya exista un fichero .htaccess, deberemos renombrarlo para no perder los datos. Si hemos subido los ficheros a la raíz de nuestro dominio, teclearemos en el navegador:

En el caso de ser redirigidos a Google, significa que nuestro servidor tiene la capacidad de leer ficheros .htaccess y por tanto, es posible que tuvieramos algún error en nuestro fichero anterior.

En el caso de visualizar el mensaje “Si aparece esto….no se lee mi .htaccess”, tendremos muy claro que nuestro servidor no es capaz de interpretar dichos ficheros.

No puedo leer mi .htaccess, ¿ahora que?

Como hemos comentado anteriormente, esto puede ser debido a una configuración de nuestro servidor. Si tenemos acceso a la configuración de Apache, deberemos comprobar si tenemos activada la directiva

En el caso de que no exista, deberemos añadirla, para que nuestros ficheros .htaccess sean interpretados correctamente.

Para ello(para SO Centos 6) me voy por ssh hasta /etc/httpd/conf y edito el archivo httpd.conf, (importante sacar un backp de dicho archivo antes de tocarlo no la liemos) con un editor tipo Noteplad ++, busco la directiva “AllowOverride” y si está a None la pongo a All, quedaría así:

Una vez hecho esto, desde la consola de ssh ejecuto el comando:

Para reiniciar el servidor apache.

Si ahora probamos nuestra prueba del archivo .htaccess debería de funcionar sin problemas.

En el caso de que no podamos cambiar nuestra configuración de hosting, deberemos contactar con nuestra empresa de alojamiento, para que nos dé los permisos necesarios o en su defecto, nos active dicha directiva.

 

Fuente http://blog.evidaliahost.com/2014/09/15/comprobar-que-apache-lee-nuestro-htaccess/