Apache – 每个自动子域的单独日志文件

我需要为每个子域创build单独的日志文件。 在参数ErrorLog中出于某种原因的正则expression式(%-3 +)不起作用。

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

这是我的configuration:

 <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> 

如何通过子域分隔日志文件?

您不能在日志位置指令中使用variables。 做到这一点的方法是将日志传送到另一个程序。

这是一个可能的解决scheme: https : //stackoverflow.com/questions/20217533/dynamic-apache-log-directory-based-on-hostname