Nginx 如何更改包括自定义错误页在内的状态代码
我正在把状态代码403改为404。我只是不想让用户知道有一个受限制的页面。这在以下配置中可以正常工作:Nginx 如何更改包括自定义错误页在内的状态代码,nginx,http-status-codes,custom-error-pages,Nginx,Http Status Codes,Custom Error Pages,我正在把状态代码403改为404。我只是不想让用户知道有一个受限制的页面。这在以下配置中可以正常工作: error_page 403 =404 @404; location @404 { return 404; } 现在,我想返回一个自定义404错误页面。但是发送给用户的状态代码应该总是404(当403出现时)。我怎样才能让两者都工作 编辑: 我希望这样的事情能奏效,但没有 location @404 { root /usr/share/nginx/html;
error_page 403 =404 @404;
location @404 {
return 404;
}
现在,我想返回一个自定义404错误页面。但是发送给用户的状态代码应该总是404(当403出现时)。我怎样才能让两者都工作
编辑:
我希望这样的事情能奏效,但没有
location @404 {
root /usr/share/nginx/html;
internal;
return 404 "/custom_404.html";
}
试试这个:
error_page 404 /404.html;
location = /404.html {
root /var/www/error/;
internal;
}
问题是一个
deny
语句。该语句正在阻止所有内容,包括对任何自定义错误页的访问。解决方案是在自定义错误页面块中添加允许所有,以撤销继承的拒绝
error_page 403 404 =404 /custom_404.html;
location = /custom_404.html {
allow all;
root /usr/share/nginx/html;
internal;
}
原始资料来源:
不工作。由于return语句,Nginx忽略了这一点。