【发布时间】:2015-03-26 22:21:39
【问题描述】:
如果文件未找到或被禁止等——我真的很想只返回 HTTP 状态代码而不返回正文内容。 比如:
error_page 403 404 body="";
目前(2015 年)的最佳做法是什么?
【问题讨论】:
标签: nginx http-status-code-404 http-status-code-403
如果文件未找到或被禁止等——我真的很想只返回 HTTP 状态代码而不返回正文内容。 比如:
error_page 403 404 body="";
目前(2015 年)的最佳做法是什么?
【问题讨论】:
标签: nginx http-status-code-404 http-status-code-403
我不确定这是否是最佳做法,但即使没有创建实际的空文件,它仍然有效。
error_page 403 404 /__empty-error-page__.html;
location = /__empty-error-page__.html {
internal;
return 200 "";
}
【讨论】:
我想出的最好办法是创建一个零字节文件:
$ touch _.json
在我的 nginx 配置中将该位置设置为内部位置,并将 error_page 指向它:
location /_.json {
internal;
}
error_page 403 404 /_.json;
根据您的内容类型,将_.json 替换为您想要的_.mime-type-extension。
【讨论】:
实际上,所有当前选项都暗示每个错误代码的位置,这不是一个干净的解决方案。当你编译你的nginx时,只需处理src/http/ngx_http_special_response.c中的bodys
【讨论】: