Назад | Перейти на главную страницу

Виртуальные хосты Apache - сопоставление разных путей одного домена (или IP-адреса) с разными сайтами

Я использую Apache / 2.4.29 (Ubuntu).
У меня только одно доменное имя.
Я хотел бы сопоставить разные сайты с разными путями после имени домена.

Например:

mydomain.com/test001 сопоставляется с /var/www/test001/public
mydomain.com/test002 сопоставляется с /var/www/test002/public

Я уже пробовал много разных конфигураций виртуальных хостов, но ни одна из них не сработала.
Может ли кто-нибудь подсказать мне правильный синтаксис виртуального хоста?

РЕДАКТИРОВАТЬ Я изменил свою конфигурацию в соответствии с ответом @JoeSlav,
теперь это мой виртуальный хост.

<VirtualHost *:80>
    ServerName test06.com
    ServerAlias www.test06.com
    DocumentRoot /var/www/test06/public

    Alias /test03/ /var/www/test03/public
    Alias /test04/ /var/www/test04/public

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Когда я прошу http://test06.com/test03/ Я получаю страницу со списком каталогов. Я вижу свою индексную страницу в списке, но если попытаться щелкнуть по ней (или если написать полный путь в браузере), я получаю следующее сообщение:
"Не обнаружена"
«Запрошенный URL /test03/index.html не найден на этом сервере»

Дополнительная информация:
- /var/www/test06/public/index.html корректно отображается браузером, если я прошу test06.com;
- Я сопоставляю test06.com с IP-адресом моего сервера через файл hosts.

Ответ JoeSlav был почти правильным.
После параметра подпути не должно быть конечной косой черты.

Это рабочая конфигурация:

<VirtualHost *:80>
    ServerName test06.com
    ServerAlias www.test06.com
    DocumentRoot /var/www/test06/public

    Alias /test03 /var/www/test03/public
    Alias /test04 /var/www/test04/public

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Вам не нужно несколько виртуальных хостов, просто разные псевдонимы:

Alias /test001/ /var/www/test001/public
Alias /test002/ /var/www/test002/public