У меня есть свежая установка Apache на Windows Server 2003. Корневой сайт (например, www.mycompany.com) работает. У меня настроен поддомен, указывающий на другой каталог (subdomain.mycompany.com), и я получаю сообщение об ошибке «Не удается найти сервер», когда пытаюсь получить к нему доступ.
Вот мой файл httpd.conf:
<VirtualHost>
DocumentRoot H:\Websites\"
ServerName www.mycompany.com
ServerAlias mycompany.com
CustomLog logs/mycompany.com.log combined
ErrorLog logs/mycompany.com.error.log
</VirtualHost>
<VirtualHost>
DocumentRoot "H:\Websites\subdomain"
ServerName subdomain.mycompany.com
CustomLog logs/subdomain.mycompany.com.log combined
ErrorLog logs/subdomain.mycompany.com.error.log
</VirtualHost>
Как я уже сказал, корневой сайт работает, но субдомен даже не найден. Вот как все должно быть устроено, не так ли? Я действительно запутался в этом - я привык к IIS, где я могу просто щелкнуть правой кнопкой мыши и добавить сайт, и все будет «Просто работай».
вы поместили запись субдомена в свой DNS-сервер?
Вам не хватает открытой цитаты в строке 2 перед H: \ ...
Не уверен, что это поможет, но вот пример двух хостов в простой настройке. Я определил, что apache прослушивает трафик на стандартном порту 80, тогда каждый виртуальный хост имеет то же самое.
Listen 80
NameVirtualHost *:80
# Site 1 Comment
<VirtualHost *:80>
ServerName site1.intranet
ServerAdmin administrator@whatever.com
DocumentRoot /var/www/html/site1
</VirtualHost>
# Site 2 Comment
<VirtualHost *:80>
ServerName site2.intranet
ServerAdmin administrator@whatever.com
DocumentRoot /var/www/html/site2
</VirtualHost>
DNS-сервер примет запрос site1.intranet или site2.intranet и перенаправит его на тот же IP-адрес, в данном случае на сервер apache, конфигурация apache выше будет перенаправлять в нужную папку в зависимости от того, какой сайт запрашивается.
надеюсь, это поможет
Как предполагали другие, существует проблема с вашими цитатами, окружающими настройки DocumentRoot.
Также убедитесь, что у вас есть NameVirtualHost *:80
в вашей конфигурации, чтобы Apache знал, что он выполняет виртуальный хостинг на основе имени, а не виртуальный хостинг на основе IP.
Сначала проверьте, указывает ли subdomain.mycompany.com на IP-адрес веб-сервера. Я думаю, что это не работает должным образом, и поэтому вы получаете сообщение об ошибке «Не удается найти сервер».
С уважением.