我需要为每个子域创建单独的日志文件。由于某种原因,参数 ErrorLog 中的正则表达式 (%-3+) 不起作用。
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>
如何按子域名分隔日志文件?
答案1
您不能在日志位置指令中使用变量。 方法是将日志传送到另一个程序。
这是一个可能的解决方案:https://stackoverflow.com/questions/20217533/dynamic-apache-log-directory-based-on-hostname