Apache vhost AH01630:服务器配置拒绝客户端

Apache vhost AH01630:服务器配置拒绝客户端

我知道有很多关于这个错误的问题,我也看过所有的答案。但我没有找到任何可以解决这个问题的方法。

在尝试迁移 WordPress 网站时,我首先在新主机上设置了一个 vhost 子域,以进行测试。现在,我尝试访问根目录时出现 403 错误。日志显示了臭名昭著的错误:

[authz_core:错误] [pid 22538] [客户端(ip 和端口)] AH01630:服务器配置拒绝客户端:/home/apprunner/mysite

我还有其他几个 vhost 站点运行正常,没有任何问题。它们都配置在同一个 httpd.conf 文件中。有问题的站点配置如下:

<VirtualHost *:80>
        ServerName mysite.mydomain.com
        DocumentRoot /home/apprunner/mysite
        DirectoryIndex index.php
        <Directory /home/apprunner/mysite>
                AllowOverride All
                Options -MultiViews
                Require all granted
        </Directory>
</VirtualHost>

我在此网站上使用 .htaccess 文件:

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

我的环境:

  • 托管服务提供商:Linode
  • 操作系统:Arch Linux
  • Apache 2.4.12
  • PHP 5.6.13

虽然 Apache 错误指出配置是问题所在,但我也对文件权限进行了两次、三次、四次检查。它们看起来不错,并且设置与我在此服务器上的其他虚拟主机站点相同,它们运行良好。

我非常感激您提供的任何帮助,尤其是因为我知道这是一个常见的问题。即便如此,谷歌和服务器故障搜索也帮不上忙。(或者我没有正确阅读它们,谁知道呢)。

答案1

哎呀,我花了这么长时间才发现 Directory 和 ServerName 语句的路径中缺少一个目录。它离正确路径太近了,我完全忽略了它。

不过,也许这会对某些人有所帮助,即,将 vhost 指向不存在的目录将会导致此错误,因此它不仅限于您如何设置目录权限或选项。

相关内容