Я просто возился с виртуальными хостами на своей установке XAMPP + Apache в Windows, чтобы он работал так, чтобы http://disko.local
перенаправляет в папку на моем компьютере, где хранятся файлы проекта. Я добавил следующие строки в C:\Windows\System32\drivers\etc\hosts
:
127.0.0.1 localhost
127.0.0.1 disko.local
::1 localhost
А затем приступил к редактированию файла X:\xampp\apache\conf\httpd.conf
чтобы добавить эти строки в конец файла (должны ли они быть в каком-то особом месте?):
# My custom vhosts
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
DocumentRoot "X:\Work\Web Development\Projects\disko\serverroot"
ServerName disko.local
</VirtualHost>
Путем быстрого поиска в файле я определил, что это единственный виртуальный хост, присутствующий в файле.
Затем я перезапустил Apache, открыл браузер и попытался загрузить страницу. http://disko.local/artists.html
. Это ошибка, которая появилась:
Доступ запрещен!
У вас нет разрешения на доступ к запрошенному объекту. Он либо защищен от чтения, либо не читается сервером.
Если вы считаете, что это ошибка сервера, обратитесь к веб-мастеру.
Ошибка 403
disko.local 22.10.11 16:06:58 Apache / 2.2.21 (Win32) mod_ssl / 2.2.21 OpenSSL / 1.0.0e PHP / 5.3.8 mod_perl / 2.0.4 Perl / v5.10.1
Я пробовал добавить .htaccess
файл, содержащий строку allow from all
но это не помогло.
Вот что говорит файл error.log:
[Sat Oct 22 16:06:58 2011] [error] [client 127.0.0.1] client denied by server configuration: X:/Work/Web Development/Projects/disko/serverroot/artists.html
Что я делаю не так? Нужно ли мне что-то добавлять к определению VHost? Заранее спасибо.
P.S .: Вот версия Apache, если она понадобится:
X:\xampp\apache\bin>httpd.exe -v
Server version: Apache/2.2.21 (Win32)
Server built: Sep 10 2011 11:34:11
Вам не хватает разрешений на каталог. Внутри блока виртуального хоста ...
<Directory "X:\Work\Web Development\Projects\disko\serverroot">
order allow,deny
allow from all
</Directory>
Вносить изменения. Перезагрузите Apache.