Foros del Web » Administración de Sistemas » Apache »

No puedo configurar el log de errores para mod_rewrite

Estas en el tema de No puedo configurar el log de errores para mod_rewrite en el foro de Apache en Foros del Web. Hola, primero que nada, me he confundido en el título. No quería decir log de errores sino log de rewrites. Bien, pues necesito habilitar el ...
  #1 (permalink)  
Antiguo 18/12/2012, 12:14
Avatar de Mikimoto74  
Fecha de Ingreso: enero-2005
Mensajes: 88
Antigüedad: 17 años, 10 meses
Puntos: 2
No puedo configurar el log de errores para mod_rewrite

Hola, primero que nada, me he confundido en el título. No quería decir log de errores sino log de rewrites. Bien, pues necesito habilitar el log de reescrituras para mod_rewrite porque estoy teniendo problemas con algunas reglas y quisiera depurarlas. Así que he añadido estas líneas al final de httpd.conf:

Código HTML:
<IfModule mod_rewrite.c>
   RewriteLog "/logs/rewrite.log"
   RewriteLogLevel 4
</IfModule> 
Seguidamente he reiniciado Apache. Sin embargo, no se inicia. Da un error. Y eso es lo que me muestra el panel de control de XAMPP, que es lo que estoy usando:

Código:
13:14:56  [Apache]    Error: Apache shutdown unexpectedly.
13:14:56  [Apache]    This may be due to a blocked port, missing dependencies, 
13:14:56  [Apache]    improper privileges, a crash, or a shutdown by another method.
13:14:56  [Apache]    Check the "/xampp/apache/logs/error.log" file
13:14:56  [Apache]    and the Windows Event Viewer for more clues
No hay nada en logs/error.log que me dé información acerca del problema. Ni siquiera se crea ninguna línea de error con el problema este.

También lo he intentado con ruta absoluta en la línea RewriteLog:

Código:
RewriteLog "c:\xampp\apache\logs\rewrite.log"
No se... parece como si mi configuración de Apache no admitiera esa directiva. Y lo estoy poniendo dentro mismo de httpd.conf, después de cargar el módulo mod_rewrite. Si quito lo de arriba, vuelve a funcionar.

Última edición por Mikimoto74; 18/12/2012 a las 12:57 Razón: equivocación en título
  #2 (permalink)  
Antiguo 18/12/2012, 19:55
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 15 años, 5 meses
Puntos: 1567
Respuesta: No puedo configurar el log de errores para mod_rewrite

Estás usando mal el ifModule. La sintáxis es esta,
Código Apache:
Ver original
  1. <IfModule rewrite_module>
  2.    RewriteLog "logs/rewrite.log"
  3.    #RewriteLog "R:\Apache2\logs\rewrite.log"
  4.    RewriteLogLevel 4
  5. </IfModule>

la ruta a los archivos, las dos son correctas ,completa R:\.... ó relativa al serverRoot ( carpeta logs dentro del directorio apache)

Y realmente hacer un if dentro del httpd.conf no tiene mucho sentido si vos sabes que estas cargando el módulo
Simplemente usás

Código Apache:
Ver original
  1. RewriteLog "logs/rewrite.log"
  2.    #RewriteLog "R:\Apache2\logs\rewrite.log"
  3.    RewriteLogLevel 4

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #3 (permalink)  
Antiguo 19/12/2012, 02:59
Avatar de Mikimoto74  
Fecha de Ingreso: enero-2005
Mensajes: 88
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: No puedo configurar el log de errores para mod_rewrite

Hola emprear. Primero muchas gracias por contestar.

He intentado lo que dices, pero sigue dándome el error. Me salta el error incluso sin meter las directivas entre los IfModule.

No lo entiendo. Y es quitarlas y Apache se inicia bien. Las vuelvo a poner y reinicio y salta el error. Además puedo dar fe de que el módulo se carga bien porque se están aplicando unas reglas de reescritura de URL.

Qué puede estar pasando?
  #4 (permalink)  
Antiguo 19/12/2012, 05:06
Avatar de Mikimoto74  
Fecha de Ingreso: enero-2005
Mensajes: 88
Antigüedad: 17 años, 10 meses
Puntos: 2
Respuesta: No puedo configurar el log de errores para mod_rewrite

Ya está solucionado.

Resulta que la versión 2.4 de Apache ya no usa la directiva RewriteLog. En su lugar, se ha de añadir el comando mod_rewrite.c:traceX a la línea LogLevel, donde X representa el nivel de "verbosidad" de 0 a 8. Entonces yo por ejemplo que tengo por defecto LogLevel warn, lo he puesto así:

Código:
LogLevel warn mod_rewrite.c:trace4
Las reescrituras quedan registradas en el error.log o donde se haya definido el log de errores (ese es el problema, que no podemos ponerlas aparte en otro log, según tengo entendido).

Espero que sirva para alguien que se tope con el mismo problema.

Etiquetas: mod_rewrite
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:20.