试图玩阿帕奇虚拟主机,获取访问禁止的错误

我只是在Windows上的XAMPP + Apache上安装虚拟主机,以使其工作,以便http://disko.localredirect到存储项目文件的PC中的文件夹。 我已经将以下几行添加到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> 

通过对文件的快速search,我确定这是该文件中唯一的虚拟主机。

然后,我重新启动Apache,打开我的浏览器,并尝试加载页面http://disko.local/artists.html 。 这是出现的错误:

访问被禁止!

您无权访问请求的对象。 它是读取保护的或不可读的服务器。

如果您认为这是服务器错误,请与网站站长联系。

错误403

disko.local 10/22/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的stringallow 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定义? 提前致谢。

PS:这是Apache的版本,以防万一需要:

 X:\xampp\apache\bin>httpd.exe -v Server version: Apache/2.2.21 (Win32) Server built: Sep 10 2011 11:34:11 

你缺less目录权限。 虚拟主机块内的地方…

 <Directory "X:\Work\Web Development\Projects\disko\serverroot"> order allow,deny allow from all </Directory> 

做出改变。 重新启动Apache。