J'utilise Single File PHP Gallery ou SFPG qui permet la gestion d'une galerie photos, gestion des vignettes… en un seul fichier PHP.
Le programme est très bien fait, léger, rapide, le seul hic étant qu'à chaque affichage d'une vignette, ça crée une ligne dans le fichier access.log d'Apache.
GET /cv2023/index.php?cmd=thumb&sfpg=KklNR180N…
Par exemple, pour les photos cabaret vert 2023, ça représente plus de 1700 lignes, juste pour l'affichage de la page vignettes photos.
Pour supprimer toutes ces lignes inutiles, j'ai utilisé dans le fichier VirtualHost d'Apache, la directive SetEnvIfExpr qui permet de faire un test regex sur la QUERY_STRING de la requête. J'ai donc modifié le fichier de la sorte
1 ErrorLog ${APACHE_LOG_DIR}/error.log 2 SetEnvIf Request_URI "/\.vign/" vign 3 SetEnvIfExpr "%{QUERY_STRING} =~ /cmd\=thumb/" vign 4 CustomLog ${APACHE_LOG_DIR}/access.log combined env=!vign 5 #customlog ${APACHE_LOG_DIR}/thumb.log combined env=vign 6 #CustomLog ${APACHE_LOG_DIR}/access.log combined
la 1 existait déjà, c'est le log d'erreur
la 2 est pour un autre système de page en html que j'utilise où les vignettes sont stockées dans un dossier .vign, et on crée la variable d'environnement vign
la 3 est pour la recherche dans la QUERY_STRING “cmd=thumb&sfpg=KklNR180N…” si elle contient cmd=thumb, on crée alors la variable d'environnement vign
la 4 est le fichier de log qui prend tous les logs sauf si la variable d'environnement vign existe
la 5 était à des fins de test et était un fichier de log qui ne comprend que les logs des vignettes
la 6 était la définition originale des logs