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

Как мне заставить мои виртуальные хосты Apache работать?

Я пытаюсь настроить виртуальные хосты для локальной разработки и не могу заставить его работать.

У меня это есть в моем httpd.conf:

NameVirtualHost *

<VirtualHost *>
 ServerName localhost
 DocumentRoot C:/Users/Elliot/dev/UniServer/www
</VirtualHost>

<VirtualHost *>
 ServerName drupal.dev
 DocumentRoot C:/Users/Elliot/dev/UniServer/www/drupal.dev/httpdocs
</VirtualHost>

и это в C: \ Windows \ System32 \ drivers \ etc \ hosts:

127.0.0.1       localhost
127.0.0.1       drupal.dev

http://localhost разрешает ОК, http://drupal.dev/ не.

Любые идеи приветствуются ...


Изменить: я почти уверен, что основная проблема заключается в моем файле hosts и что любые изменения игнорируются.

Как ни странно, я могу редактировать, сохранять и удалять его без повышенных разрешений, чего не должно быть в Windows> = Vista.

Я прорабатываю «Что может привести к тому, что поиск DNS будет игнорировать запись файла hosts?», «Файл HOSTS игнорируется» и «Проблема с файлом hosts в Windows XP (как новый пользователь я не могу размещать ссылки).


Изменить: в моем случае остановка службы DNS-клиента решила проблему ....


Изменить: ... но очень кратко.

Попробуйте поставить drupal.dev в той же строке, что и localhost в вашем файле hosts, например:

127.0.0.1   localhost drupal.dev

Посмотрите на пример здесь:

http://www.cyberciti.biz/faq/apache-name-based-virtualhost-example/

Установите IP-адрес для NameVirtualHost, а затем замените * для каждого VirtualHost на квалифицированное имя (localhost для первого и drupal.dev для второго).

У вас есть эта запись:

NameVirtualHost *

Это позволяет вам включить vHosts

Выполните пинг drupal.dev и убедитесь, что он разрешен для вашей машины. Кроме того, попробуйте установить documentRoot так же, как указано выше (C: / Users / Elliot / dev / UniServer / www /), на случай, если это проблема с разрешениями.

Еще один пример того, как мне удалось заставить его работать с Uniserver. Мой псевдодомен - «memelpower.lc», и его корень вы можете увидеть ниже.

В C:\uniserver\core\apache2\conf\httpd.conf вы добавляете это в конец файла:

NameVirtualHost *

<VirtualHost *:80>
    ServerAdmin admin@memelpower.lc
    DocumentRoot "C:/uniserver/www/memelpower/public/"
    ServerName memelpower.lc
    ServerAlias memelpower.lc
    ErrorLog "C:/uniserver/www/memelpower/public/error_log"
    CustomLog "C:/uniserver/www/memelpower/public/access_log" common
</VirtualHost>

Затем вы C:\Windows\System32\drivers\etc\hosts вы добавляете эту строку в конце:

127.0.0.1 localhost memelpower.lc

Перезагрузите Apache, и он должен работать.