
У меня Debian 8 с Apache. Мой /etc/apache2/sites-available/000-default.conf
выглядит следующим образом.
Как и в каком конфигурационном файле я могу задать Apacheне регистрировать /var/log/apache2/other_vhosts_access.log
трафик, поступающий изhttp://www.mysite2.orgили изhttp://www.mysite3.org/subdir/?Все остальное должно быть записано в тот же файл, other_vhosts_access.log
как обычно.
<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
решение1
каждому виртуальному хосту необходимо определение errorlog и common log, без них используется журнал по умолчанию, также обратите внимание, что стоит создать vhost по умолчанию, который будет ловить весь трафик, который не относится к одному из ваших доменов (люди, которые указывают свои dns на ваш сайт). Это может иметь плохие последствия для SERP, так как это дублирующий контент.
Итак, в каждом vhost;
ErrorLog "logs/web1-error_log"
CustomLog "logs/web1-access_log" common
ErrorLog "logs/web2-error_log"
CustomLog "logs/web2-access_log" common
ОБНОВЛЯТЬ:
не увидел части об отсутствии регистрации определенного каталога, это можно было бы сделать, установив переменную окружения.
решение2
Спасибо @MikeJonesey за его ответ. Чтобы добавить больше деталей, вот решение, нужно ввести /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>