Apache-2.2
具有 URI 的 Apache 伺服器上的兩個應用程序
我需要在 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