Назад | Перейти на главную страницу

Поддомены на Apache не работают - не удается найти сервер

У меня есть свежая установка 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-адрес веб-сервера. Я думаю, что это не работает должным образом, и поэтому вы получаете сообщение об ошибке «Не удается найти сервер».

С уважением.