Это, вероятно, было задано, но я не могу найти прямой ответ, или те, которые я нашел, не работают.
У меня есть один домен mydomain.com, который разрешает IP; позвольте называть его 8.8.8.8. Настройки DNS также указывают на два поддомена на этот IP-адрес с записью A. Это dev.mydomain.com и staging.mydomain.com. Оба имеют A-запись, указывающую на 8.8.8.8.
На сервере (8.8.8.8) у меня есть два файла виртуальных хостов. Это следующие:
staging.mydomain.com.conf
<VirtualHost *:80>
ServerName staging.mydomain.com
DocumentRoot /var/www/html/mydomain.com/staging/
</VirtualHost>
А...
dev.mydomain.com.conf
<VirtualHost *:80>
ServerName dev.mydomain.com
DocumentRoot /var/www/html/mydomain.com/dev/
</VirtualHost>
Проблема заключается в следующем:
Независимо от того, посещаю ли я http://staging.mydomain.com или http://dev.mydomain.com, я всегда приземляюсь на staging.mydomain.com(Apache обслуживает эти файлы).
Я перезапустил Apache и даже сервер. Если я изменил порядок файлов .conf, чтобы dev был первым, я всегда это вижу. Любые предложения будут так оценены. Спасибо!
Обновление
Я снова возвращаюсь к этой проблеме! Если вы знаете, что ваш синтаксис верен, у вас может быть плохая символическая ссылка. Удалите его и снова заново создайте, перезапустив апач между ними. Я просто сделал это, и он решил часами царапин на голове. В CentOS
вы можете проверить доступные vhosts с помощью httpd -S
обновление 2
Я также обнаружил, что эта проблема существует, когда файлы apache log для виртуального хоста не существуют или недоступны для записи.