Это, вероятно, простой вопрос, но я хочу лучше понять, как Apache работает с виртуальными хостами. Я настраиваю виртуальные хосты, потому что я работаю на нескольких сайтах одновременно и не хочу использовать подкаталоги. Я в значительной степени использовал файл Apache httpd.conf по умолчанию, а DocumentRoot указывал на что-то вроде «/ www». Я раскомментировал, включают в себя виртуальные хосты и добавил следующее:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName site1.dev
DocumentRoot /www/site1
</VirtualHost>
<VirtualHost *:80>
ServerName site2.dev
DocumentRoot /www/site2
</VirtualHost>
Теперь, когда я перехожу на http://localhost, я получаю страницу по умолчанию для site1.
Я уверен, что есть причина, почему это имеет смысл, но я не совсем понимаю. Я бы подумал, что через эту директиву будут перенаправляться только те запросы, которые явно относятся к http://site1.test, и он не станет просто по умолчанию. Может кто-нибудь объяснить, почему он становится по умолчанию.