Apache虚拟目录(Virtual Directory)403错误

今天想在网站上加个虚拟目录,照教程添加了:alias及对应的Directory描述,左右测试总是提示403:Access Forbidden。毫无疑问是权限问题……

1、确认了Directory没有错:)虚拟目录无论是添加到全局还是虚拟主机当中都提示权限问题。

2、确认了目标目录有权限:)

仔细检查后终于在一个地方找到了说法:

http://stackoverflow.com/questions/6807317/fixing-403-forbidden-on-alias-directory-with-apache

这位大哥的回复:

http://stackoverflow.com/users/304690/gliptak

Check permission on /Users/user/Documents/, /Users/user/ (higher level permissions are enforced first …)

/bin/su into the user running Apache (like www, www-data) and cat a file in the /Users/user/Documents/example directory. That might point you to permission problems with your setup.

简单点说就是不能只设置目标目录的权限,这个目标的上级目录都要有相应的权限。例如设置一个虚拟目录

alias DirectoryC /root/a/b/c

那么仅仅设置/root/a/b/c这个目录的权限是不能解决问题的,必须依次检查/root,/root/a,/root/a/b这些目录均是否有访问的权限,否则将会有问题。

通过设置相应上级目录的权限问题解决了。

另补充一点:即使是只显示文件列表,没有任何php文件的目录,也需要有r-x权限才能正常访问,光有r不够。

Continue Reading