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

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

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

但只有一个域名和一个 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

答案1

你可以做的是建立一个反向代理到仅在环回上监听的不同虚拟主机。

您将在 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-服务器-多个目录-不同的错误日志

相关内容