Мне нужно установить сервер с 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
Что вы могли сделать, так это создать обратный прокси к разным виртуальным хостам, слушающим только по шлейфу.
Вы получите на своем виртуальном хосте 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-сервер-несколько-каталогов-разные-журналы ошибок