Cómo depurar Apache mod_rewrite

Resuelto puk asked hace 12 años • 5 respuestas

Tengo dos problemas principales con mod_rewrite:

  1. No se informa ningún error significativo cuando tengo una regla no válida

    Ingrese la descripción de la imagen aquí

  2. Para probar de manera confiable cada modificación, tengo que borrar el caché de Google Chrome. Esto no es ciencia espacial, pero tengo que presionar Ctrl++ , hacer clic , cerrar la ventana y recargar Shift.DeleteOK

Me gustaría ver si alguno de los gurús está dispuesto a compartir sus secretos para administrar eficientemente el código mod_rewrite.

puk avatar Mar 09 '12 17:03 puk
Aceptado

Un truco consiste en activar el registro de reescritura. Para activarlo, pruebe esta línea en la configuración principal de su servidor Apache HTTP o en el archivo de host virtual actual ( no en .htaccess):

LogLevel alert rewrite:trace6

Antes de Apache httpd 2.4 mod_rewrite , dicha configuración de registro por módulo aún no existía. En su lugar, podría utilizar la siguiente configuración de registro:

RewriteEngine On
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 3
Ben avatar Mar 09 '2012 11:03 Ben

La directiva RewriteLog mencionada por Ben ya no está disponible en Apache 2.4.

En su lugar, debe utilizar la directiva LogLevel. P.ej,

LogLevel alert rewrite:trace6

Consulte Módulo Apache mod_rewrite, Registro .

Tobias Schultze avatar Feb 28 '2013 13:02 Tobias Schultze

Para una resolución de URL básica, utilice un buscador de línea de comandos como wgeto curlpara realizar las pruebas, en lugar de un navegador manual. Entonces no es necesario borrar ningún caché; simplemente up arrowy presione Enteren un shell para volver a ejecutar las búsquedas de prueba.

Kaz avatar Mar 09 '2012 22:03 Kaz