In welcher Datei können wir ändern, was von Apache protokolliert/nicht protokolliert wird?

In welcher Datei können wir ändern, was von Apache protokolliert/nicht protokolliert wird?

Ich habe ein Debian 8 mit Apache. Meins /etc/apache2/sites-available/000-default.confist wie folgt.
Wie und in welcher Konfigurationsdatei kann ich Apache fragenum den Verkehr nicht zu protokollieren, /var/log/apache2/other_vhosts_access.logder vonhttp://www.mysite2.orgoder vonhttp://www.mysite3.org/subdir/?other_vhosts_access.logDer gesamte Rest sollte wie üblich in derselben Datei protokolliert werden .

<VirtualHost *:80>
  ServerName www.mysite1.org
  DocumentRoot /home/www/mysite1
  <Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
    Require all granted
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  ServerName www.mysite2.org
  DocumentRoot /home/www/mysite2
  <Directory />
  ...
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  ServerName www.mysite3.org
  DocumentRoot /home/www/mysite3
  <Directory />
  ...
  </Directory>
</VirtualHost>

+ 10 other virtual hosts

Antwort1

Jeder virtuelle Host benötigt eine Definition des Fehlerprotokolls und des allgemeinen Protokolls. Ohne diese wird das Standardprotokoll verwendet. Beachten Sie auch, dass es sich lohnt, einen Standard-Vhost zu erstellen, der den gesamten Datenverkehr abfängt, der nicht für eine Ihrer Domänen bestimmt ist (Personen, die ihre DNS auf Ihre Website richten). Dies kann schlechte SERP-Konsequenzen haben, da es sich um doppelten Inhalt handelt.

also, in jedem vhost;

    ErrorLog "logs/web1-error_log"
    CustomLog "logs/web1-access_log" common

    ErrorLog "logs/web2-error_log"
    CustomLog "logs/web2-access_log" common

AKTUALISIEREN:

habe den Teil zum Nichtprotokollieren eines bestimmten Verzeichnisses nicht gesehen. Dies ließe sich durch das Festlegen einer Umgebungsvariable erreichen.

Antwort2

Vielen Dank an @MikeJonesey für seine Antwort. Um weitere Details hinzuzufügen, hier ist die Lösung, die Sie eingeben müssen /etc/apache2/sites-available/000-default.conf:

<VirtualHost *:80>
  ServerName www.mysite3.org
  DocumentRoot /home/www/mysite3
  <Directory />
  ...
  </Directory>
  SetEnvIf Request_URI "^/subdir(.*)$" dontlog
  CustomLog ${APACHE_LOG_DIR}/other_vhosts_access.log vhost_combined env=!dontlog
</VirtualHost>

verwandte Informationen