Мой вопрос может немного сбить с толку, прошу прощения за это. Вот что мне нужно:
Ну, у меня есть (скажем) 3 веб-сайта, размещенных на одном Apache (которые определены внутри каждого VirtualHost
настройки. Затем я В настоящее время регистрировать свои журналы доступа отдельно, как в:
Так что все в порядке. Но в то же время, Я ТАКЖЕ хочу, чтобы они (все журналы доступа) находились в файле журнала локального хоста Apache по умолчанию (я не знаю, как это назвать). Может быть:
Другими словами, есть ли способ (как) хранить журналы доступа по отдельности и в то же время хранить все в одном комбинированном файле?
Таким образом, это позволит мне видеть каждый из журналов доступа в отдельных файлах. И в то же время я могу видеть все журналы в одном месте, ЕСЛИ МНЕ НУЖНО.
Это можно сделать. Вместо создания записи CustomLog в каждом разделе VirtualHost используйте SetEnvIfNoCase в глобальной конфигурации httpd.conf чтобы установить переменную, если домен совпадает, а затем записать запись с включенной переменной в файл.
например
SetEnvIfNoCase Host website-a.com weba
SetEnvIfNoCase Host website-b.com webb
SetEnvIfNoCase Host website-c.com webc
CustomLog /var/log/httpd/website-a.com.access_log combined env=weba
и так далее. Конечно, вам придется учитывать вариации имен ваших доменов, возможно, используя регулярное выражение, если это необходимо, если вам нужно будет более конкретно указать поддомены.
[править] Вам может потребоваться экранировать точку в имени домена.