nginx:处理404与error_page

最初,我在nginx.conf文件中有这样的东西。

location ^~ /test_api { types { application/json json; } root /usr/local/www/data; rewrite "/test_api/(.*)" /api_response/test_api_$1.json break; error_page 404 /api_response/unknown_request.json; } 

在本地找不到请求的资源时,会正确返回unknown_request.json(默认响应)。

然后,我不得不改变重写指向远程服务器,如下所示:

  rewrite "/test_api/(.*)" $scheme://www.somedomain.com/test_api_$1 break; 

即使远程服务器返回404,它也不会返回unknown_request.json(默认响应)。

当远程服务器返回404时,是否有办法继续将unknown_request.json返回给客户端,假设远程服务器无法更改为返回unknown_request.json?

非常感谢。

您已经将请求redirect到远程站点; 你没有进一步的控制权。 浏览器将联系远程站点,并得到任何答复。