Apache提示You don't have permission to access / on this server问题解决

时间:2023-03-08 16:06:41

测试时遇到将一本地目录设置为一apache的虚拟主机,在httpd-vhosts.conf文件中进行简单设置,然后在hosts文件中将访问地址指向本地,启动apache,进行访问,却出现了You don't have permission to access / on this server的提示,baidu了一下,原来是因为我的虚拟主机目录为非apache安装目录下的htdocs,所以违反了apache对默认对网站根访问权限。

apache的默认虚拟主机根目录地址为../Apache Software Foundation/Apache2.2/htdocs 目录下,需要对httpd.conf文件进行修改才能指向其他目录。

在httpd.conf文件下找到这段:

  1. <span style="font-size: x-small;">#
  2. # Each directory to which Apache has access can be configured with respect
  3. # to which services and features are allowed and/or disabled in that
  4. # directory (and its subdirectories).
  5. #
  6. # First, we configure the "default" to be a very restrictive set of
  7. # features.
  8. #
  9. <Directory />
  10. Options FollowSymLinks
  11. AllowOverride None
  12. Order deny,allow
  13. Deny from all
  14. </Directory></span>
#
# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.
#
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>

将之修改为

  1. <span style="font-size: x-small;"># 允许指向外部的目录进行访问
  2. <Directory />
  3. Options Indexes FollowSymLinks
  4. AllowOverride None
  5. </Directory></span>
# 允许指向外部的目录进行访问
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory> <Directory /> 
    Options Indexes FollowSymLinks ExecCGI
    AllowOverride None
</Directory>

然后重启apache,就ok了。