Uno de los problemas que trae consigo la tecnología Ajax es que, al ejecutarse muchos scripts en el background, el tamaño del fichero log de nuestro servidor Web, puede incrementarse de manera sustancial. Imaginaos un script que es ejecutado cada 3 segundos para comprobar si alguien ha escrito en un chat y mostrarlo por pantalla. O por ejemplo Facebook, que chequea cada poco tiempo si hay contenido nuevo. Por cada petición que se hace al script que se encarga de esos chequeos, se guarda un registro en el log del servidor web. Multiplicad cada petición por todos los usuarios que puede tener un sitio web…en cuanto te descuidas tienes un log de varios gigas.
Pero si el servidor web que estáis usando es Apache, hay una forma muy sencilla de evitar que los accesos a ciertas páginas (o imágenes, o cualquier cosa susceptible de ser alojada en un servidor) sean guardados en el log. Es tan sencillo como irse a la configuración de Apache (en principio httpd.conf) y añadir lo siguiente:
SetEnvIfNoCase Request_URI "pagina_no_quiero_en_log.php" dontlog
Podéis usar “SetEnvIf” en vez de “SetEnvIfNoCase” si queréis que sea sensible a mayúsculas y minúsculas. Es decir, para que no sea lo mismo “PaGina.php” que “pagina.php” o “PAGINA.PHP”. La palabra “dontlog” es de invención propia, es decir, podéis usar la que queráis, por ejemplo, “noguardar”. Si queréis excluir varias páginas simplemente tendréis que añadir varias líneas, una por cada página, pero todas tienen que tener en común la palabra que aparece al final, en este caso “dontlog”.
Una vez añadida esa línea (o líneas), tendremos que acudir a la línea donde se hace referencia al log de Apache y añadir al final de la misma lo siguiente, “env!=dontlog”
CustomLog /var/log/access_log combined env=!dontlog
Reiniciamos Apache y, si todo ha ido bien, los accesos a esas páginas no se guardarían en nuestro log.