解决apache AH01630: client denied by server configuration错误

  昨天给公司配置了apache-2.4.9的版本,今天他们要求把虚拟主机配置起好放网站程序,在修改apache-2.4.9的配置文件中,我发现了2.4.x跟以前的2.2.x里面的很多配置都不一样了,比如配置这个虚拟主机都有一些不同,按照以前的配置方法,会报下面的错误:
AH01630: client denied by server configuration: /usr/local/apache/htdocs/recx/

先给大家看看我按照apache-2.2.x配置虚拟机的内容:
NameVirtualHost 192.168.10.81:80

<VirtualHost 192.168.10.81:80>
ServerAdmin [email protected]
directoryIndex  index.html index.php index.htm index.shtml login.php
ServerName 192.168.10.81
DocumentRoot /var/www/vhosts/wwwroot
<Directory "/var/www/vhosts/wwwroot">
    Options -Indexes

    AllowOverride All

    Order allow,deny
    Allow from all

</Directory>
</VirtualHost>

然后下面是apache-2.4.x配置虚拟机的内容:
<VirtualHost 192.168.10.81:80>
ServerAdmin [email protected]
directoryIndex  index.html index.php index.htm index.shtml login.php
ServerName 192.168.10.81
DocumentRoot /var/www/vhosts/wwwroot
<Directory "/var/www/vhosts/wwwroot">
    Options -Indexes

    AllowOverride All

    Require all granted
</Directory>
</VirtualHost>

可以看到apache-2.4.x把NameVirtualHost给取消,现在配置虚拟主机不需要再配置NameVirtualHost了.
删除了 Order deny,allow 和 Order allow,deny
把 Deny from all 替换成了 Require all denied
把Allow from all 替换成了 Require all granted
然后还把 Allow from 192.168.10.21 这样的语句给替换成了 Require host 192.168.10.21

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。