Я играл с этим в течение нескольких часов и пришел к выводу, что лучше всего спросить кого-нибудь!
У меня довольно стандартная установка apache (я добавил mod_security и mod_python), поэтому не трогал /etc/httpd/conf/httpd.conf
У меня есть несколько доменов, работающих как домены, и каждый со своим собственным файлом конфигурации. Все они работают, как и ожидалось, за исключением того факта, что любое нераспознанное имя хоста будет обслуживать контент с первого виртуального хоста (что, как я знаю, является ожидаемым поведением, поскольку обслуживается контент с первого виртуального хоста)
Я хотел бы настроить набор контента по умолчанию, который будет обслуживаться, если кто-то получит доступ к моему серверу через неизвестное имя хоста, но при этом первый сайт теперь также обслуживает этот контент по умолчанию, для которого я не могу найти причину.
Все файлы конфигурации для отдельных сайтов находятся в /etc/httpd/conf.d/sites (чтобы они не включались автоматически), а затем включаются через файл (/etc/httpd/conf.d/sites). .conf), который я создал — прежде чем пытаться настроить сервер по умолчанию, его содержимое таково:
Include conf.d/sites/*.conf
Я изменил его, чтобы попытаться заставить работать сервер по умолчанию:
<VirtualHost _default_:80>
DocumentRoot /home/sites/DEFAULT
<Directory "/home/sites/DEFAULT">
AllowOverride None
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Include conf.d/sites/*.conf
Просто повторим проблему: когда активна вторая версия site.conf, первый VirtualHost также обслуживает этот контент; остальные в порядке. Все файлы конфигурации сайтов синтаксически правильны и не содержат опечаток в именах серверов.
(Для справки я включил файл конфигурации сайта-нарушителя, хранящийся в /etc/httpd/conf.d/sites/DOMAIN.clintonmontague.co.uk.conf)
<VirtualHost *:80>
DocumentRoot /home/sites/clintonmontague.co.uk/www
ServerName clintonmontague.co.uk
LogLevel emerg
CustomLog /home/sites/clintonmontague.co.uk/_logs/access_log "combined"
<Directory "/home/sites/clintonmontague.co.uk/www">
AllowOverride none
allow from all
Options +Indexes
</Directory>
</VirtualHost>
Извините за слишком длинный вопрос!
Дополнительная информация: Apache 2.2, CentOS 5, MediaTemple (DV)