我试图设置别名以指向文件系统上不在DocumentRoot中的某个目录。现在,我收到403禁止响应。这些是采取的步骤:
1.编辑http.conf,添加:

Alias /example "/Users/user/Documents/example"

然后...
<Directory "/Users/user/Documents/example">
   Options Indexes FollowSymLinks MultiViews
   AllowOverride None
   Order allow,deny
   Allow from all</Directory>

2.在终端中使用chmod设置权限:
chmod 755 /Users/user/Documents/example

现在应该工作了吗?相反,我被禁止访问。这是error_log的输出:
[Sun Jul 24 06:57:57 2011] [error] [client xx.xx.xx.xx] (13)Permission denied: access to /example denied

最佳答案

我在OS X上也遇到了这个问题。原来gliptak是正确的,但是我要添加更多细节。

我们都试图为用户的主文件夹下的文件夹配置虚拟目录。我认为这就是我们遇到问题的原因。就我而言,我具有以下设置:

  • 主文件夹是/Users/calrion
  • 虚拟目录文件夹是/Users/calrion/Path/to/www
  • 有一个指向/Users/calrion/Path的符号链接(symbolic link)/Volumes/Other/Users/calrion/Path

  • 问题是用户和组_www(Apache在OS X上运行)缺乏对/Users/calrion/Volumes/Other/Users/calrion的执行访问权限。

    运行chmod o+x /Users/calrionchmod o+x /Volumes/Other/Users/calrion解决了该问题(在OS X 10.7.4上)。

    这里的规则是 Apache要求对路径中的所有文件夹具有执行访问权限,以便提供文件。否则,您将获得HTTP 403(禁止访问)。

    09-27 08:12