У меня установлен веб-сервер Apache на локальной машине Windows 7 x64. У него нет глобального DNS-имени.
В дистрибутиве по умолчанию виртуальный хост настроен в файле Apache / conf / extra / httpd-vhosts.conf.
У него одна директива
NameVirtualHost *:80
и несколько директив
<VirtualHost *:80>
с разными
ServerName www.domain.tld
Написаны разные имена hosts
файл и все, что указывает на 127.0.0.1
.
К сожалению, виртуальные хосты не работают. Только первый <VirtualHost>
кажется, что тег активен. Ничего не сказано httpd.exe
начиная и в error.log
.
Как заставить здесь работать виртуальные хосты?
РЕДАКТИРОВАТЬ
Я не вижу причин, по которым может потребоваться DNS. GET
Запрос содержит символическое имя сайта, поэтому у сервера есть вся информация, чтобы определить, какой виртуальный хост был вызван.
ИЗМЕНИТЬ 1
Я обнаружил, что виртуальные хосты работают (без DNS!). Это проблема с одним конкретным хостом.
Виртуальные хосты настраиваются в следующем файле: extra / httpd-vhosts.conf
Вот пример того, как настроить виртуальный хост
<VirtualHost *:80>
ServerAdmin webmaster@website.com
DocumentRoot "/var/sites/website"
<Directory "/var/sites/website">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ServerName www.website.com
#ServerAlias www1.website.com
ErrorLog "logs/error_log"
CustomLog "logs/access_log" common
</VirtualHost>
Запомни :
Настройте свои обычные имена и псевдонимы в вашем диспетчере DNS и не забудьте включить этот файл в основные директивы httpd.conf.
Включите conf / extra / httpd-vhosts.conf