我有它的错误日志我想发送到不同的文件的两个目录在/ var / WWW(比如,在/ var / WWW / APP1和/ var /网络/应用2)。 两者都是同一个域下的,所以我认为我不能把他们在不同的虚拟主机。 因此,举例来说,我会访问它们为:
HTTP://本地主机/ APP1
HTTP://本地主机/ APP 2
我遇到了这个页面:
生成在Apache的不同的子目录的访问日志
其解决方案完全适用于访问日志。 然而,“ENV”的说法似乎并不与ErrorLog指令工作。
这个“发现”之前,我在做这一点,这似乎是错误的:
<VirtualHost *:80>
ServerAdmin ray@localhost
DocumentRoot /var/www/app1
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order deny,allow
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/app1/error.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/app1/access.log combined
</VirtualHost>
我多少有些失落什么我应该做的。 也就是说,如果有办法让错误日志的工作或我是否应该跟上配置为每个目录虚拟主机尝试。 任何帮助,将不胜感激! 谢谢!
为什么你设置Directory
选项/
在VirtualHost
方面? 使用<Directory /var/www/app1>
而不是<Directory />
由于Apache的ErrorLog指令文档的背景是server config, virtual host
-这意味着它是唯一可以定义错误日志整个服务器或为VirtalHost
,而不是一个Directory
。 所以,如果你想不同的日志发送到不同的文件,尝试使用SetEnvIf
设置一个环境变量。 Depeding对你所在的目录,它应该像SetEnvIf Request_URI ^\/a1\/ a1
和SetEnvIf Request_URI ^\/a2\/ !a1
。 然后写取决于日志a1
环境变量。
最后我做到了,先创建每个文件夹,并传递的ProxyPass子域中的内容内部子域。
启用阿帕奇MODS:
a2enmod authz_core dir proxy proxy_http
/ etc / hosts文件
127.0.0.1 localhost
127.0.0.1 a.localhost
127.0.0.1 b.localhost
/etc/apache2/sites-available/default.conf
<VirtualHost *:80>
ServerName localhost
ServerAdmin fake@mail.com
DocumentRoot "/dev/null"
ProxyPass /a http://a.localhost/
ProxyPassReverse /a http://a.localhost/
ProxyPass /b http://b.localhost/
ProxyPassReverse /b http://b.localhost/
LogLevel debug
ErrorLog ${APACHE_LOG_DIR}/default-error.log
CustomLog ${APACHE_LOG_DIR}/default-access.log combined
</VirtualHost>
/etc/apache2/sites-available/a.conf
<VirtualHost *:80>
ServerName a.localhost
ServerAdmin fake@mail.com
DocumentRoot "/Publikoa/a"
<Directory "/Publikoa/a">
DirectoryIndex index.html
Require all granted
</Directory>
LogLevel debug
ErrorLog ${APACHE_LOG_DIR}/a-error.log
CustomLog ${APACHE_LOG_DIR}/a-access.log combined
</VirtualHost>
/etc/apache2/sites-available/b.conf
<VirtualHost *:80>
ServerName b.localhost
ServerAdmin fake@mail.com
DocumentRoot "/Publikoa/b"
<Directory "Publikoa/b">
DirectoryIndex index.html
Require all granted
</Directory>
LogLevel debug
ErrorLog ${APACHE_LOG_DIR}/b-error.log
CustomLog ${APACHE_LOG_DIR}/b-access.log combined
</VirtualHost>
启用站点:
a2ensite default a b
重新启动Apache:
/etc/init.d/apache2 restart