Logo de islavisual
Logo de islavisual IslaVisual
imagen de sección

Ultima revisión 14/11/2014

Errores comunes en el .htaccess

Bueno, después de una larga temporada sin publicar nada, me motiva el hecho de haber publicado la nueva versión de Islavisual y de nuevos conocimientos que, creo, no están publicados en internet, así que, vamos al lío. ¿ quién no se ha encontrado alguna vez con que el .htaccess no aplicaba las reglas, que el log decía que tenía errores extraños que no tienen ni piés ni cabeza o, cosas como client denied by server configuration ?

Todos estos errores suelen tener una explicción sencilla que, a menudo, no solemos ver y nos llevan a exprimirnos el cerebro durante horas. Os invito a seguir leyendo...

Por poneros en antecedentes. Hace tiempo me encontré con una situación, cuanto menos, inhóspita. Resulta que estaba montando una web bajo un servidor Apache en Windows y PHP y, cuando me puse a configurar la URLs Amigables y fui a probarlas, no funcionaba. Lo primero que pensé fue que el módulo de mod rewrite no estaba presente, por lo que, abrí el httpd.conf y lo comprobé. Estaba cargado y funcionando. Luego pensé... ¿ pues será cuestión de que falta meter las reglas dentro de un IfModule ? ... pues no. Así estuve horas y horas, probando cosas y de nada sirvió tanto esfuerzo y empeño porque el error no iba por ahí...

Ya lo dijo Einstein, si quieres resultados distintos, empieza por hacer cosas distintas...

Error: AH01630: client denied by server configuration

Este mensaje de error, como algunos sabréis, es muy genérico pero nos da la primera pista de que algo no va bien. Ahora, lo que hay después de ese mensaje, sí es importante:

<IfModule takes one argument, Container for directives based on existence of specified modules

El error que cometemos todos es, valga la redundancia, ignorar este error. Si buscáis en Internet os encontraréis con preguntas como ¿ por qué funciona en Producción y no en Desarrollo? o ¿ Por qué está trabajando la web en el Hosting, pero no en Local ?. Si continuáis buscando, en verdad os digo que, no mucha información fiable y, menos aún en español pero, ¿ qué significa o qué nos dice este mensaje de error ?. La pista está en la palabra argument ya que, lo que nos quiere decir es que no le llegan los parámetros bien y, amigos míos, eso ya nos conduce a pensar que hay un error de codificación.

Pues sí, así es. El problema es que existe un error de codificación y esto es así porque el .htaccess es un archivo que se creo utilizando sistemas UNIX y por tanto, para funcionar, necesita de codificaión UTF-8 y saltos de línea de tipo UNIX. En definitiva, que, como os podéis imaginar, la forma de solucionarlo es muy simple y en este caso utilizaremos un programa conocido por todos... Notepad++.

Empecemos..., abrimos nuestro .htaccess con NotePad++ y pinchamos en la opción del menu principal Codificación. Cuando tenemos este tipo de errores, lo más frecuente es que nos aparezca selecionado Codificar en ANSI. Si es así, pinchamos en Convertir a UTF-8 sin BOM. Una vez hayamos pinchado en la subopción de Convertir a UTF-8 sin BOM, la opción seleccionada se nos cambiará a Codificar en UTF-8 sin BOM.

Con esto ya tenemos casi todo hecho. Ahora pinchamos en la opción del menu principal Editar y llevamos el ratón hasta la opción de Conversión fin de línea y comprobamos que esté seleccionada (en un color menos visible) la subopción de Convertir a formato UNIX. Si no es así, pinchamos sobre ella.

Ahora guardamos el archivo y ya está. Ahora debería funcionar.

Sobre el autor

Pablo Enrique Fernández Casado

CEO de IslaVisual, Manager, Full Stack Analyst Developer y formador por cuenta ajena con más de 25 años de experiencia en el campo de la programación y más de 10 en el campo del diseño, UX, usabilidad web y accesibilidad web. También es escritor y compositor de música, además de presentar múltiples soft kills como la escucha activa, el trabajo en equipo, la creatividad, la resiliencia o la capacidad de aprendizaje, entre otras.

Especializado en proveer soluciones integrales de bajo coste y actividades de consultoría de Usabilidad, Accesibilidad y Experiencia de Usuario (UX), además de ofrecer asesoramiento en SEO, optimización de sistemas y páginas web, entre otras habilidades.