Файл ваших хостов выглядит хорошо, но ваши определения виртуальных хостов не так хороши.
Если вы изменили ваш файл hosts
вы можете перезагрузить кэш окна, делая это из окна командной строки, которая была запущена с использованием Runs as Administrator
или простой перезагрузки: -
net stop "DNS Client"
тогда, когда это завершает сделать
net start "DNS Client"
Котировки необходимы, поскольку в названии сервиса есть пробел !!
Служба DNS-клиента кэширует доступ к доменным именам и предварительно загружается с именами доменов, которые существуют в файле HOSTS
во время загрузки, или если вы перезапустите службу, как указано выше.
При отладке нового определения vhost помните, что если что-то не так с определением, к которому вы пытаетесь получить доступ, Apache всегда будет по умолчанию первым vhost, определенным в файле определения vhost. Итак, если это произойдет, например, на домашней странице WAMP, вы можете предположить, что сделали ошибку, определяющую этот vhost.
Это также означает, что если вы определили, что первое определение ВХоста с чем-то вроде Require local
случайные халтур в системе также должно быть направлены туда, если это имеет свою безопасность набор для Require local
хак должен получить 404 ошибки, которая может препятствовать дальнейшей попытки взлома.
// My virtual hosts file
<VirtualHost *:80>
ServerName localhost
DocumentRoot "C:\wamp\www"
<Directory "C:\wamp\www">
AllowOverride All
# never want to allow access to your wamp home page area to anyone other than This PC
# plus us the Apache 2.4.x syntax and not the 2.2 syntax
Require local
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName client1.localhost
DocumentRoot "C:\wamp\www\client1"
<Directory "C:\wamp\www\client1">
AllowOverride all
# use Apache 2.4 syntax to all access to your internal network only
Require ip 192.168.0
# Or if you really want to give access to the whole internet uncomment this and comment the previous line
#Require all granted
</Directory>
DirectoryIndex index.html index.php
</VirtualHost>
<VirtualHost *:80>
ServerName client2.localhost
DocumentRoot "C:\wamp\www\client2"
<Directory "C:\wamp\www\client2">
AllowOverride all
# use Apache 2.4 syntax to all access to your internal network only
Require ip 192.168.0
# Or if you really want to give access to the whole internet uncomment this and comment the previous line
#Require all granted
</Directory>
DirectoryIndex index.html index.php
</VirtualHost>
Если вы на самом деле не хотите, чтобы мир, чтобы иметь возможность доступа к этим сайтам клиентов, но вы хотите, чтобы иметь возможность получить доступ к сайту с другими ПК в вашей внутренней сети, то лучше механизм доступа будет использовать Require ip 192.168.0
. Обратите внимание на использование только первых трех квартилей вашей подсети (у вас может быть не 192.168.0, но по умолчанию используется много маршрутизаторов. Сначала проверьте свою подсеть)
Также, если вы хотите, чтобы мир увидел этих клиентов сайтов, то у вас также будет Port Forward
вашего маршрутизатора.
Также, если вы не намеревались предоставить доступ к этим сайтам всему миру, но были просто плохие советы, гораздо более безопасное определение всех этих сайтов было бы использовать Require local
, поэтому вы можете получить к ним доступ только от ПК с WAMP.
WAMPServer 2.4, который, я предполагаю, вы имеете в виду, когда говорите, что используете последнюю версию WAMPServer, фактически изменил способ, которым вы можете включить определения vhost. Ну, на самом деле это включало новый путь и сохранил старый путь.
Так, чтобы включить определение виртуального хоста вы можете сделать один из этих 2-х вещей: -
1. Положите ваши определения виртуальных хостов в httpd.conf файл раскомментируйте файл \wamp\bin\apache\apache2.4.4\conf\extra\httpd-vhosts.conf and then in the
эту строку (ее вблизи нижней части конфа файл.
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
Снимите #
линии всасывания на Include
линии
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
2. Поместите определения вашего vhost в файл, называемый любым, что вам нравится, в папку \wamp\vhost
.
Существует линия в нижней части файла httpd.conf
теперь, когда говорят IncludeOptional "d:/wamp/vhosts/*"
Это будет включать в себя любой файл в этой папке и если это определение ВХост она будет применяться, что конфиг. Это новая команда для Apache 2.4. Я считаю, что это будет работать только на установках Apache 2.4.x.
является файлом хостов по ссылке? –
Извините, я не уверен ... как вы имеете в виду ссылку? – Zabs