Мне нужно создать отдельные файлы журналов для каждого поддомена. Регулярные выражения (% -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