Você não pode usar variáveis nas diretivas de localização de log. A maneira de fazer isso é canalizar o log para outro programa.
Esta é uma solução possível: link
Eu preciso criar arquivos de log separados para cada subdomínio. Expressões regulares (% -3 +) por algum motivo no parâmetro ErrorLog não funcionam.
ErrorLog /var/www/example.com/logs/%-3+_error_log
Aqui está minha configuração:
<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>
Como separar arquivos de log por subdomínio?
Você não pode usar variáveis nas diretivas de localização de log. A maneira de fazer isso é canalizar o log para outro programa.
Esta é uma solução possível: link
Tags apache-2.2 httpd.conf