最初,我在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到远程站点; 你没有进一步的控制权。 浏览器将联系远程站点,并得到任何答复。