Я нахожусь в Windows 8 и только что установил Wamp 2.5 (Apache 2.4.9) на C:/wamp
для локального тестирования кода. У меня есть репозиторий исходного кода на D:/workpace/project1
, которым я управляю с помощью GIT (GIT - одна из причин, по которым я не хочу нарушать ее местоположение).Включение виртуальных хостов в Apache запрещает каждому хосту (403)
После установки Wamp я просто включил виртуальные хосты, раскомментировав следующую строку в httpd.conf
.
#Include conf/extra/httpd-vhosts.conf
Затем я направился в conf/extra/httpd-vhosts.conf
, создав резервную копию и создал виртуальный хост.
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "D:/workspace/project1/"
ServerName project1
ServerAlias p1
ErrorLog "logs/project1(local)-error.log"
CustomLog "logs/project1(local)-access.log" common
<Directory "D:/workspace/project1/">
Require all granted
</Directory>
</VirtualHost>
Также отредактировал файл hosts и добавил необходимые строки.
127.0.0.1 project1
127.0.0.1 p1
Проблема заключается в том, что я получаю ошибку 403 Forbidden
не только когда я доступ project1/
и p1/
, но когда я доступ localhost/
.
Когда я отключить HTTPd-vhosts.conf в httpd.conf комментированием,
Include conf/extra/httpd-vhosts.conf
Я могу получить доступ к localhost/
, но, как и ожидалось, project1/
и p1/
тоже полны решимости localhost/
.
Удивительно, но когда я снова включить httpd-vhosts.conf
в httpd.conf
и восстановить резервную копию оригинала (без изменений) httpd-vhosts.conf
, я все еще получаю 403 (Forbidden)
даже на localhost/
. Но опять же, когда я отключу httpd-vhosts.conf
, localhost/
подходит к норме.
Кроме того, удивительно отметить, что если я изменю DocumentRoot
на папку-заглушку в пределах c:/wamp/www
, история будет такой же. Так что это происходит не только тогда, когда DocumentRoot
находится за пределами c:/wamp/www
.
Я чувствую, что у меня есть что-то дополнительное, потому что нет никаких шансов, что я что-то испортил, поскольку это новая установка, и я не внес никаких изменений, кроме тех, что были выше.
В чем причина того, что Apache не ладит с виртуальными хостами?
Просто примечание стороны: почему с помощью виртуальных хостов на местном уровне? Просто создайте 'Alias' для каждого проекта, и вы в порядке. Также не требуется настройка файла хостов ... – arkascha
Для самой виртуальной хоста: первый шаг _always_ - просмотр файла журнала ошибок http-серверов, особенно во время перезапуска. Именно там сервер регистрирует проблемы с его конфигурацией. Также контролируйте этот файл при выполнении запросов, вы можете найти дополнительную информацию о проблемах. Вы найдете дополнительную информацию, которая может помочь в вашей проблеме? – arkascha
@arkascha, Strange !!! ... Журналы не обновляются, когда включен 'httpd-vhosts.conf' ...' project1 (local) -error.log' и 'project1 (local) -access.log' тоже не создаются. –