Назад | Перейти на главную страницу

Apache - отдельные файлы журналов для каждого автоподдомена

Мне нужно создать отдельные файлы журналов для каждого поддомена. Регулярные выражения (% -3 +) почему-то в параметре ErrorLog не работают.

ErrorLog /var/www/example.com/logs/%-3+_error_log

Вот мой конфиг:

<VirtualHost *:80>

    UseCanonicalName Off
    ServerName  %-3+.example.com
    ServerAlias *.example.com
    VirtualDocumentRoot /var/www/example.com/htdocs/%-3+

    <Directory "/var/www/example.com/htdocs">
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride All
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog /var/www/example.com/logs/error_log
    CustomLog /var/www/example.com/logs/access_log combined

</VirtualHost>

Как разделить файлы журнала по поддоменам?

Вы не можете использовать переменные в директивах расположения журнала. Способ сделать это - передать журнал другой программе.

Вот возможное решение: https://stackoverflow.com/questions/20217533/dynamic-apache-log-directory-based-on-hostname