Apache Web 服务器:AH00125:请求超出了使用 FallbackResource 的 10 个子请求的限制

Posted

技术标签:

【中文标题】Apache Web 服务器:AH00125:请求超出了使用 FallbackResource 的 10 个子请求的限制【英文标题】:Apache web server: AH00125: Request exceeded the limit of 10 subrequest with FallbackResource 【发布时间】:2016-02-02 07:48:11 【问题描述】:

当我在我的 apache 2.4 Web 服务器配置中使用“FallbackResource”时,它显示错误“AH00125:请求超出了 10 个子请求嵌套级别的限制”..

请就如何解决这个问题提供一些帮助。 是指定url“http://localhost/bv-host/plusRoot/plus/fiets”并希望它被转发到默认的index.html:“/bv-host/plusRoot/plus/index.html”

我启用了调试日志记录。模式重写被禁用。如果我删除 FallbackResource 行,我不会看到此错误,而是看到例外的 404 错误。

我的 Mac 上默认安装了 2.4,并添加了以下配置:

FallbackResource /bv-host/plusRoot/plus/index.html;
Alias /bv-host/plusRoot "/Users/ed/Develop/Projecten/Web”

就是这样,调试日志 sn -p:

[client ::1:57840] mod_hfs_apple: Allowing access with matching directory. filename = /Users/ed/Develop/Projecten/Web/plus/index.html;
AH00125: Request exceeded the limit of 10 subrequest nesting levels due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
[client ::1:57840] AH00121: r->uri = /bv-host/plusRoot/plus/index.html;
[client ::1:57840] AH00123: subrequested from r->uri = /bv-host/plusRoot/plus/index.html;
[client ::1:57840] AH00123: subrequested from r->uri = /bv-host/plusRoot/plus/index.html;
[client ::1:57840] AH00123: subrequested from r->uri = /bv-host/plusRoot/plus/index.html;
[client ::1:57840] AH00123: subrequested from r->uri = /bv-host/plusRoot/plus/index.html;
[client ::1:57840] AH00123: subrequested from r->uri = /bv-host/plusRoot/plus/index.html;
[client ::1:57840] AH00123: subrequested from r->uri = /bv-host/plusRoot/plus/index.html;
[client ::1:57840] AH00123: subrequested from r->uri = /bv-host/plusRoot/plus/index.html;
[client ::1:57840] AH00123: subrequested from r->uri = /bv-host/plusRoot/plus/index.html;
[client ::1:57840] AH00123: subrequested from r->uri = /bv-host/plusRoot/plus/index.html;
[client ::1:57840] AH00123: subrequested from r->uri = /bv-host/plusRoot/plus/fiets

【问题讨论】:

【参考方案1】:

我在子文件夹中设置 Silex 应用程序时遇到了类似的问题。我只使用了FallbackResource index.php,结果与你相同。

最终使用了经典的 Rewrite 示例。

RewriteEngine On
#RewriteBase /path/to/app
RewriteCond %REQUEST_FILENAME !-d
RewriteCond %REQUEST_FILENAME !-f
RewriteRule ^ index.php [QSA,L]

【讨论】:

【参考方案2】:

我也遇到了这个问题,找到了解决办法。

在我的例子中,发生这种情况是因为页面请求的资源(它是一个 css 文件)没有放在好目录中。

<link href="somewhere_bad_directory/font-awesome.min.css" rel="stylesheet" type="text/css">

然后FallbackResource被调用了十次,没有提供资源,所以报错。

解决方案:在目录中使用“FallbackResource”时,如果您遇到此错误“AH00125:请求超出了 10 个子请求嵌套级别的限制”,请仔细检查您的页面是否有错误的资源。

【讨论】:

【参考方案3】:

请注意,如果您的 FallbackResource 路径不是绝对的,您也可能会收到此错误。例如:

FallbackResource index.php

将在任何二级请求上失败:/foo/bar 将失败,因为它会尝试回退到 /foo/index.php。所以你需要指定根:

FallbackResource /index.php

【讨论】:

我觉得这是对所提出问题的正确解决方案。这样可以避免陷入循环。谢谢。 这个解决方案可以挽救生命。正是问题所在。

以上是关于Apache Web 服务器:AH00125:请求超出了使用 FallbackResource 的 10 个子请求的限制的主要内容,如果未能解决你的问题,请参考以下文章

Apache代理fcgi错误

Apache AH00526 语法错误

Apache - AH00451

Apache/2.4.7 (Ubuntu) AH01630:客户端被服务器配置拒绝,尽管“要求所有授权”

虚拟主机:AH00558:apache2:无法可靠地确定服务器的完全限定域名

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