当我试图通过浏览器访问localhost时,我得到这个错误。

AH01630: client denied by server configuration

我检查了我的网站文件夹权限使用:

sudo chmod 777 -R *

这是我的配置文件:

<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /home/user-name/www/myproject
<Directory />
    Options FollowSymLinks
    AllowOverride all
    Allow from all
</Directory>

<Location />
  Allow from all
  Order Deny,Allow
</Location>

<Directory  /home/user-name/www/myproject/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
    Order allow,deny
    Allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
    AllowOverride all
    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride all
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>


当前回答

对于那些像我一样被这个错误困住的人,上面没有任何帮助:检查error.log中的问题文件夹是否确实存在于您的服务器上。我的是由Django在错误的地方自动生成的(被静态根弄乱了,然后是manage.py collectstatic)。不知道为什么不能正确地指出错误。

其他回答

对于所有目录,写入“要求所有授予”,而不是“允许从所有”

更新

如果上面的不工作,然后也删除下面提到的行:

为了允许,拒绝

我做了与ravisorg建议的OSX 10.10 Yosemite相同的更改,将Apache升级到2.4版本。下面是添加到http.conf中的更改。

<Directory />
    AllowOverride none
    Require all denied
</Directory>

<Directory /Volumes/Data/Data/USER/Sites/>
    AllowOverride none
    Require all granted
</Directory>

对我来说,我实际上已经根据2.4标准更新了允许和拒绝规则。

Require all granted

然而,这仍然导致我收到相同的AH01630错误。我找到了另一个线程,它建议重新安装apache2。不知何故,这奏效了!如果有人愿意解释一下,我会很有帮助的。

信用:AH01630:客户端被服务器配置拒绝,但要求设置所有授予(Apache 2.4, CentOs)

对于那些像我一样被这个错误困住的人,上面没有任何帮助:检查error.log中的问题文件夹是否确实存在于您的服务器上。我的是由Django在错误的地方自动生成的(被静态根弄乱了,然后是manage.py collectstatic)。不知道为什么不能正确地指出错误。

一个模糊的(刚刚处理过),但可能的原因是一个内部的mod_rewrite规则,在主配置文件(不是.htaccess)中写入一个存在于服务器文件系统根的路径。假设你在你的站点中有一个/media目录,你重写了如下内容:

RewriteRule /some_image.png /media/some_other_location.png

如果你在你的服务器的根目录下有一个/media目录,重写将会尝试到这个目录(导致访问被拒绝错误),而不是在你的站点目录下,因为文件系统的根首先被mod_rewrite检查,在你的站点目录之前,检查路径中的第一个目录是否存在。