У меня есть установка apache2 (Ubuntu 16, Apache 2.4.18) с несколькими виртуальные хосты определены. У каждого виртуального хоста есть собственный файл .conf в / etc / apache2 / sites-available со ссылкой на / etc / apache2 / sites-enabled.
Все виртуальные хосты, кроме одного, работают правильно. Я трижды проверил, что ServerName
соответствует домену (это так), но когда я перехожу в этот домен, я оказываюсь на DocumentRoot
для виртуального хоста по умолчанию, и я понятия не имею, почему . Я также удалил и переписал всю строку ServerName
на случай, если там был какой-то скрытый управляющий символ.
Я провел различие между одним из работающих виртуальных хостов и тем, который не работает, и единственные различия - это DocumentRoot
и ServerName
.
Я проверил, что нет других виртуальных хостов с тем же доменом (единственный другой - это виртуальный хост SSL)
Могу ли я еще что-нибудь найти, чтобы помочь разобраться в проблеме?
РЕДАКТИРОВАТЬ : По запросу, файл VH (имя домена / папка скрыты, а комментарии удалены для краткости)
<VirtualHost *:80>
ServerName MYDOMAIN.COM
ServerAdmin webmaster@MYDOMAIN.COM
DocumentRoot /var/www/MYDOMAIN.COM
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
РЕДАКТИРОВАТЬ 2: Я удалил VH по умолчанию и перезапустил, тогда проблема VH сработала нормально. Я повторно добавил VH по умолчанию и перезапустил, и проблема VH продолжала работать нормально в течение примерно 20 секунд, затем она вернулась к той же проблеме.
Насколько я могу судить, проблема возникла из-за того, что домен был указан в файле / etc / hosts и установлен в / etc / hostname. Удаление его оттуда, похоже, решило проблему.