Apache-2.2

具有 URI 的 Apache 伺服器上的兩個應用程序

  • April 15, 2014

我需要在 Linux 上安裝一個帶有 Apache 2.2 的伺服器,並且我需要做兩個通過 URI 區分的 VirtualHost。

但是只有一個域名和一個IP地址。而且我不能使用別名。

我嘗試了類似的方法,但這不起作用:

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

我需要這個,因為我需要為每個虛擬主機配置一個錯誤日誌。

我想,我也許可以用 ServerPath 做點什麼,但我不知道怎麼做。

編輯:非常感謝您的第一個答案,它正在工作:D

您可以做的是為僅在環回上偵聽的不同虛擬主機設置反向代理。

你會進入你的 www.localhost 虛擬主機:

<VirtualHost *:80>
   DocumentRoot /var/www/
   ServerName localhost
   ServerAlias www.localhost

   ProxyPassReverse /app1/ http://webapp1.local/
   ProxyPassReverse /app2/ http://webapp2.local/
</Virtualhost>

並為應用程序創建兩個虛擬主機:

<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

引用自:https://serverfault.com/questions/588841