Apache服务器上的两个应用程序使用URI

我需要在Linux上安装Apache 2.2的服务器,并且需要通过URI来区分两个VirtualHost。

但只有一个名和一个IP地址。 而且我不能使用Alias。

我尝试过这样的事情,但这不起作用:

<VirtualHost *:80> DocumentRoot /var/www/app1 ServerName localhost/app1 ServerAlias www.localhost/app1 <Directory /var/www/app1> Allow from all </Directory> </VirtualHost> <VirtualHost *:80> DocumentRoot /var/www/app2 ServerName localhost/app2 ServerAlias www.localhost/app2 <Directory /var/www/app2> Allow from all </Directory> </VirtualHost> 

我需要这个原因,我需要为每个虚拟主机configuration一个错误日志。

我想,我可以做一些与ServerPath的,但我不知道如何。

编辑:非常感谢你的第一个答案,它的工作:D

你可以做的是为不同的虚拟主机build立一个反向代理 ,仅仅在loopback上进行监听。

你将会进入你的www.localhost虚拟主机:

 <VirtualHost *:80> DocumentRoot /var/www/ ServerName localhost ServerAlias www.localhost ProxyPassReverse /app1/ http://webapp1.local/ ProxyPassReverse /app2/ http://webapp2.local/ </Virtualhost> 

并为这些应用程序创build两个虚拟主机:

 <VirtualHost 127.0.0.1:80> DocumentRoot /var/www/app1 ServerName webapp1.local <Directory /var/www/app1> Allow from all </Directory> </Virtualhost> <VirtualHost 127.0.0.1:80> DocumentRoot /var/www/app2 ServerName webapp2.local <Directory /var/www/app2> Allow from all </Directory> </Virtualhost> 

确保将webapp1.local和webapp2.local添加到/etc/hosts文件中。 另一种可能性是apache-server-multiple-directories-different-error-logs