Apache 2.4 игнорирует файл httpd-vhosts.conf

Я выполнил следующие шаги настроить виртуальный хост apache (windows) для создания виртуального хоста в Windows, но Я не знаю, что не так, потому что это не работает.

Мне нужен виртуальный хост с этим URL-адресом: http://local.shop.

httpd-vhosts.conf

<VirtualHost *:80>    
DocumentRoot "C:/Apache24/htdocs/"
ServerName localhost
ServerAlias localhost
<Directory "C:/Apache24/htdocs/">
    AllowOverride All
</Directory>

<VirtualHost *:80>    
    DocumentRoot "C:/Apache24/htdocs/shop/"
    ServerName local.shop
    ServerAlias local.shop
    <Directory "C:/Apache24/htdocs/shop/">
        AllowOverride All
    </Directory>
    ErrorLog "logs/localhost.html-error.log"
    CustomLog "logs/localhost.html-access.log" common
</VirtualHost>

hosts

    127.0.0.1   localhost
    127.0.0.1   local.shop

Если я попытаюсь получить доступ к http://localhost, обслуживаемой страницей будет страница, которая находится на C:/Apache24/htdocs/shop. / но если я попытаюсь получить доступ к http://local.shop, я получу следующую ошибку ERR_NAME_NOT_RESOLVED

Что я делаю неправильно?

Редактировать 1:

Я удалил директивы ServerAlias, и теперь, если я попытаюсь получить доступ к http://localhost, обслуживаемая страница будет правильной, но если Я пытаюсь получить доступ к http://local.shop, но все равно не работает. У меня такая же ошибка ERR_NAME_NOT_RESOLVED

Редактировать 2: я использовал команду "ping" из Windows, чтобы попытаться связаться с каждым хостом. И я получаю ответ от localhost, но не от local.shop

введите здесь описание изображения введите здесь описание изображения

Изменить 3: я внес изменение в определение локального хоста в httpd-vhosts.conf. Я изменил DocumentRoot на «C:/Apache24/htdocs/shop».

<VirtualHost *:80>    
    DocumentRoot "C:/Apache24/htdocs/shop"
    ServerName localhost
    ServerAlias localhost
    <Directory "C:/Apache24/htdocs/">
       AllowOverride All
    </Directory>
</VirtualHost>

Вместо того, чтобы получать страницу по умолчанию из каталога магазина, я все еще получаю страницу по умолчанию с исходного локального хоста. Похоже, что Apache игнорирует файл httpd-vhosts.conf.


person José Carlos    schedule 07.03.2017    source источник
comment
Не проблема, но, пожалуйста, удалите эти директивы ServerAlias, они не имеют никакого смысла.   -  person arkascha    schedule 07.03.2017
comment
И записи в файлах журнала ошибок ваших http-серверов при перезапуске http-сервера?   -  person arkascha    schedule 07.03.2017
comment
Что дает попытка разрешения командной строки для имени хоста local.shop?   -  person arkascha    schedule 07.03.2017
comment
Как я могу это сделать?   -  person José Carlos    schedule 07.03.2017
comment
Как вы можете сделать что?   -  person arkascha    schedule 07.03.2017
comment
Чтобы разрешить local.shop. Я думаю, что вы имеете в виду сделать ping ... Если я делаю ping для localhost, он найден, но если я делаю ping для local.shop, ответ заключается в том, что ping не нашел local.shop.   -  person José Carlos    schedule 07.03.2017
comment
Не уверен, какая команда доступна для этого в среде MS-Windows, эти системы не реализуют сеть как неотъемлемую часть операционной системы, но вы можете попробовать, если установлена ​​какая-то команда, такая как nslookup или host или dig, и использовать ее по команде линия.   -  person arkascha    schedule 07.03.2017
comment
Я использовал команду ping. И localhost его находит, но local.shop не находит.   -  person José Carlos    schedule 07.03.2017
comment
Я не знаю, как команда ping разрешает имя хоста.   -  person arkascha    schedule 07.03.2017


Ответы (1)


Apache может прослушивать (в случае, если вы перезапустили его после редактирования файла vhosts), но ничего не указывает на это. Вам нужно отредактировать файл hosts (расположенный в C:\Windows\System32\drivers\etc\hosts) и указать домену «local.shop» IP-адрес 127.0.0.1, чтобы Apache мог забрать оттуда. Вы можете редактировать этот файл с помощью Блокнота, открытого с правами администратора.

Это должно выглядеть примерно так:

# Copyright (c) 1993-2009 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
#      102.54.94.97     rhino.acme.com          # source server
#       38.25.63.10     x.acme.com              # x client host

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost
#   ::1             localhost
127.0.0.1   local.shop
person Nemanja K.    schedule 08.03.2017
comment
Спасибо за ваш комментарий, но у меня все еще есть домен local.shop в моем файле хостов Windows. - person José Carlos; 08.03.2017
comment
Тем не менее ошибка не на стороне Apache, поскольку фактическая ошибка - ERR_NAME_NOT_RESOLVED (т.е. я понятия не имею, на каком сервере находится этот домен). - person Nemanja K.; 08.03.2017