Jam*_*mes 1 apache hostname vhosts
我有一个PHP应用程序,由多个域使用.为了避免维护多个vhost,我只设置了一个"默认"Apache vhost来将任何传入请求引导到服务器到应用程序目录.
我想要做的是根据命中服务器的主机名动态设置Apache访问和错误日志路径.
例如,我想将日志路径设置为:
/var/log/application_name/example.com/error.log
/var/log/application_name/example.com/access.log
Run Code Online (Sandbox Code Playgroud)
当提出请求时example.com.
有可行的方法吗?我已经看过使用任何Apache环境变量,但是因为这些是在捕获请求时设置的,所以我认为这些变量不能用于ErrorLog或CustomLog指令.是否只需要在应用程序级别(即在PHP中)手动设置日志目录?
谢谢
我使用这样的设置,我的logsplit.sh脚本根据%U写入日志文件:
<VirtualHost *:80>
ServerName myserver.com
ServerAlias *.myserver.com
VirtualDocumentRoot /home/%1/www/
LogFormat "%U %h %l %u %t \"%r\" %>s %b" common
CustomLog "|/usr/local/logsplit.sh" common
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)