最初,我在 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)?
非常感谢。
答案1
您已将请求重定向到远程站点;您无法再对其进行控制。浏览器将联系远程站点并获取其获得的任何响应。