尝试使用 apache 虚拟主机,出现访问被禁止错误

尝试使用 apache 虚拟主机,出现访问被禁止错误

我只是在 Windows 上安装的 XAMPP + Apache 上摆弄虚拟主机,使其工作,以便http://disko.local重定向到我的 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>

通过快速搜索文件,我确定这是文件中唯一存在的虚拟主机。

然后我重新启动了 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,但没有帮助。

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 定义中添加任何内容?提前致谢。

附言:以下是 Apache 的版本,以备不时之需:

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

答案1

您缺少目录权限。在虚拟主机块内...

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

进行更改。 重新启动 Apache。

相关内容