如何在nginx中有条件地拦截fastcgi错误?

如何在nginx中有条件地拦截fastcgi错误?

我只想在我的 $request_uri 采用某种特定格式时设置指令 fastcgi_intercept_errors。

这是我所做的,

if ($request_uri ~* /a/b/c){
  error_page 502 @static;
  fastcgi_intercept_errors on;
}

但是它给我错误,这里不允许使用 fastcgi_intercept_errors 指令。

有办法吗?谢谢。

答案1

只要您尝试使用 来测试$uriand/or $request_uriif就应该考虑改用location。也就是说,尝试使用类似下面的方法:

location ~* /a/b/c {
    fastcgi_pass ...
    fastcgi_intercept_errors on;
    ...
}

有关 nginx 的一些其他详细信息,if请访问http://wiki.nginx.org/IfIsEvil

相关内容