Два приложения на сервере Apache с URI

Мне нужно установить сервер с Apache 2.2 в Linux, и мне нужно сделать два VirtualHosts, различающихся по URI.

Но только с одним доменным именем и одним 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-server-множественные каталоги-разные-ошибок

Другие вопросы по тегам