1.nginx作为反向代理,如果代理请求的页面不存在,返回404,但是浏览器中一片空白。

要求:将404跳转到指定页面。

在server段添加:

error_page 404 /;

不能生效,原因是需要添加一条proxy_intercept_errors on;语句。

同理对于动态页面的404响应,需要添加fastcgi_intercept_errors on;语句。

2.error_page语法

error_page code ... [ = [ response ]] uri

例如以下:

error_page   404          /404.html;
error_page   502 503 504  /50x.html;
error_page   403          http://example.com/forbidden.html;
error_page   404          = @fetch;

还可以修改状态码:

error_page 404 =200 /empty.gif;
error_page 404 =403 /forbidden.gif;

还可以不指定状态码,直接使用指定error handler的返回状态作为状态码。

error_page   404 = /404.php;

还可以跳转到特定的location处理错误页面

location / (
    error_page 404 @fallback;
)
 
location @fallback (
    proxy_pass http://backend;
)

参考:

http://wiki.nginx.org/HttpCoreModule#error_page

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
  • 2022-12-23
  • 2021-10-02
  • 2021-08-09
  • 2021-04-01
猜你喜欢
  • 2021-10-31
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
  • 2021-12-12
  • 2022-12-23
相关资源
相似解决方案