Возникли проблемы при настройке виртуального хоста в apache2

У меня есть некоторые проблемы при настройке virtualhost в apache2. У меня есть три субдомена (a.test.com, b.test.com, c.test.com), которые подключены к одному серверу. Я настраиваю virtualhost, как показано ниже, чтобы каждый поддомен показывал другой сайт.

# Content of /etc/apache2/sites-available/a.test.com.conf
<VirtualHost *:80>
    ServerName a.test.com
    DocumentRoot /var/www/a
</VirtualHost>

# Content of /etc/apache2/sites-available/b.test.com.conf
<VirtualHost *:80>
    ServerName b.test.com
    DocumentRoot /var/www/b
</VirtualHost>

Причина того, что c.test.com.conf не существует, состоит в том, что я хочу показать 404 notfound или соединение отклонено (причина c.test.com не решена), когда клиент пытается получить доступ к c.test.com. Но когда клиент пытается получить доступ к c.test.com, он показывает результат a.test.com.

Я уже отключил 000 по умолчанию, но эти настройки не работают, как я ожидал. Что я должен сделать, чтобы c.test.com показывал 404 notfound или в соединении отказано?

Это результат ls /etc/apache2/sites-available

000-default.conf
a.test.com.conf
b.test.com.conf

Это результат ls /etc/apache2/sites-enabled

a.test.com.conf
b.test.com.conf

1 ответ

Если соответствующий виртуальный хост не найден, будет использоваться первый из перечисленных виртуальных хостов.

Используйте виртуальный хост в 000-default.conf настроить поведение для доменов, которые не соответствуют ни одному из ваших других виртуальных хостов. Например, используйте несуществующий корень документа.

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