recursive_error_pages
`recursive_error_pages` 指令控制错误页面是否递归处理。 — NGINX HTTP Core
recursive_error_pages
httpserverlocation
语法recursive_error_pages on | off;
默认值off
上下文http, server, location
模块NGINX HTTP Core
参数flag
说明
`recursive_error_pages` 指令可设置为 'on' 或 'off',允许用户启用或禁用错误页面的递归处理。当该指令设为 'on' 时,如果请求遇到错误页面(例如 404 Not Found),NGINX 会尝试在相同的配置中处理该错误页面,这可能会在错误页面本身再次出现错误时允许继续提供后续的错误页面。 该指令在简化复杂站点配置中的错误处理时非常有用,尤其是当错误页面本身可能依赖额外的配置设置时。例如,如果错误页面本身也被错误配置,NGINX 会尝试使用相同的配置上下文来处理,而不是立即返回错误,这可以为用户提供更清晰的错误显示。但应注意避免创建循环,使错误页面相互引用而无法解决。 该指令可放在 `http`、`server` 或 `location` 的任何上下文中,从而在不同层级的错误处理管理上提供更广的控制范围。需要注意的是,在错误处理可能导致额外服务器负载的场景中,启用递归错误页面可能会带来额外的开销和复杂性。
配置示例
http {
recursive_error_pages on;
server {
error_page 404 /custom_404.html;
}
}⚠
启用 `recursive_error_pages` 可能会导致意外的递归循环,尤其是在错误页面也配置错误的情况下。在涉及多层错误处理的复杂配置中请格外小心。
⚠
使用该指令时建议对错误页面进行充分测试,以确保其正常工作并避免造成过高的服务器负载。