我试图设置别名以指向文件系统上不在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/calrion
和chmod o+x /Volumes/Other/Users/calrion
解决了该问题(在OS X 10.7.4上)。这里的规则是 Apache要求对路径中的所有文件夹具有执行访问权限,以便提供文件。否则,您将获得HTTP 403(禁止访问)。