在windows和RH都碰到过,只要把主目录指到其他地方后就出现权限不够的403提示,郁闷了好久。
后来发现,原来又是Apache没配置 好,是apache的mod_authz_host模块在起控制作用。

1.如果不启用vhosts

只需修改 httpd.conf

默认Directory节如下,注意红色部分,表示目录/usr/local/apache/htdocs允许所有 主机访问

apache documentroot指向htcdoc之外提示403错误的解决方案<Directory "/usr/local/apache/htdocs">
apache documentroot指向htcdoc之外提示403错误的解决方案
apache documentroot指向htcdoc之外提示403错误的解决方案    #
apache documentroot指向htcdoc之外提示403错误的解决方案    # Possible values 
for the Options directive are "None""All",
apache documentroot指向htcdoc之外提示403错误的解决方案    # or any combination of:
apache documentroot指向htcdoc之外提示403错误的解决方案    #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
apache documentroot指向htcdoc之外提示403错误的解决方案    #
apache documentroot指向htcdoc之外提示403错误的解决方案    # Note that 
"MultiViews" must be named *explicitly* --- "Options All"
apache documentroot指向htcdoc之外提示403错误的解决方案    # doesn
't give it to you.
apache documentroot指向htcdoc之外提示403错误的解决方案
    #
apache documentroot指向htcdoc之外提示403错误的解决方案    # The Options directive 
is both complicated and important.  Please see
apache documentroot指向htcdoc之外提示403错误的解决方案    # http:
//httpd.apache.org/docs/2.2/mod/core.html#options
apache documentroot指向htcdoc之外提示403错误的解决方案
    # for more information.
apache documentroot指向htcdoc之外提示403错误的解决方案    #
apache documentroot指向htcdoc之外提示403错误的解决方案    #Options Indexes FollowSymLinks
apache documentroot指向htcdoc之外提示403错误的解决方案
apache documentroot指向htcdoc之外提示403错误的解决方案    #
apache documentroot指向htcdoc之外提示403错误的解决方案    # AllowOverride controls what directives may be placed 
in .htaccess files.
apache documentroot指向htcdoc之外提示403错误的解决方案    # It can be 
"All""None", or any combination of the keywords:
apache documentroot指向htcdoc之外提示403错误的解决方案    #   Options FileInfo AuthConfig Limit
apache documentroot指向htcdoc之外提示403错误的解决方案    #
apache documentroot指向htcdoc之外提示403错误的解决方案    AllowOverride None
apache documentroot指向htcdoc之外提示403错误的解决方案
apache documentroot指向htcdoc之外提示403错误的解决方案    #
apache documentroot指向htcdoc之外提示403错误的解决方案    # Controls who can 
get stuff from this server.
apache documentroot指向htcdoc之外提示403错误的解决方案    #
apache documentroot指向htcdoc之外提示403错误的解决方案    Order allow,deny
apache documentroot指向htcdoc之外提示403错误的解决方案    Allow from all
apache documentroot指向htcdoc之外提示403错误的解决方案
apache documentroot指向htcdoc之外提示403错误的解决方案
</Directory>

由于主目录被指到别的地方了,所以将蓝色部分/usr/local/apache/htdocs换成你新的主目录就OK了。

2.启用vhosts
启 用vhosts的话,你就可以不作上面的修改了,因为VirtualHost可以单独配置这个节的属性,所以我们在VirtualHost这个节里配置的 话就更方便了,下面的配置中,我把我的网站放在/var/vhosts/www.test.cn下。

/usr/local/apache/conf/extra/httpd-vhosts.conf
apache documentroot指向htcdoc之外提示403错误的解决方案<VirtualHost *:80>
apache documentroot指向htcdoc之外提示403错误的解决方案    
<Directory "/var/vhosts/www.test.cn" >
apache documentroot指向htcdoc之外提示403错误的解决方案        #Deny from all
apache documentroot指向htcdoc之外提示403错误的解决方案        Allow from all
apache documentroot指向htcdoc之外提示403错误的解决方案    </Directory>

apache documentroot指向htcdoc之外提示403错误的解决方案

apache documentroot指向htcdoc之外提示403错误的解决方案    DocumentRoot 
"/var/vhosts/www.test.cn"
apache documentroot指向htcdoc之外提示403错误的解决方案    ServerName www.test.cn

apache documentroot指向htcdoc之外提示403错误的解决方案
</VirtualHost>

如果把Deny from all的注释去掉,那么服务器就会拒绝所有访问(和我们刚开始把主目录移动到htdocs外而没做任何配置修改时一样,哈哈)

补充一点:
如果你是写个index.php放在目录下测试,可要注意了,记得加上默认主页index.php
DirectoryIndex index.html index.php

相关文章:

  • 2021-07-07
  • 2021-06-04
  • 2022-12-23
  • 2021-12-08
  • 2021-08-26
  • 2022-12-23
  • 2022-12-23
  • 2018-06-12
猜你喜欢
  • 2021-08-25
  • 2021-12-13
  • 2021-07-27
  • 2022-12-23
  • 2022-12-23
  • 2022-03-15
  • 2021-08-19
相关资源
相似解决方案