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

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

这是我做的,

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

但它给了我错误,fastcgi_intercept_errors指令不允许在这里。

任何方式在这里? 谢谢。

只要您尝试使用if来testing$uri和/或$request_uri ,则应考虑使用location 。 也就是说,尝试像这样的东西:

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

http://wiki.nginx.org/IfIsEvil上可以find关于if在nginx上的更多细节。