Nginx自定义错误页error_page配置,终于搞懂这样配置的意思了!!!

网上看了好几篇Nginx错误页error_page的配置,愣是没搞懂为什么这么配,而且跟着写也没达到想要的效果!现在总结下给自己留个笔记。

  1. 配置自定义的错误页;
location = /404.html {
	root  html/page;
}

这里location = /404.html,表示访问 /404.html时会访问到root 指定目录的html/page下的404.html文件,即html/page/404.htmlhtml目录是Nginx默认的静态文件目录,Linux同理相对路径就好。
在这里插入图片描述

这时候重新reload加载配置文件,访问/404.html就能看到自定义的错误页,但此时访问其他404页面不会重定向到这。

  1. 绑定重定向错误码和错误页;
error_page   500 502 503 504 404  /404.html;

中间为发生该错误码时重定向的页面,/404.html为重定向的页面,即当系统报500 502 503 504 404错误时都会重定向到/404.html页面。

  1. 开启自定义错误重定向,这点很重要。
location / {
	#fastcgi_pass http://myserver
    proxy_pass http://myserver;
}

注意:这里有两种代理方式,而fastcgi_pass一般拿来支持php、python等原本不支持的语言,(其他没有更多了解,知道的大佬可以评论区补充。)这时候你就要看你的方式是什么了,如果是proxy_pass方式,你就需要在http区域添加proxy_intercept_errors on;,反之则添加fastcgi_intercept_errors on;开启自定义错误重定向。这样保存reload一下,访问其他页面报错的时候就能重定向到自定义的错误页了。

proxy_pass -> proxy_intercept_errors on;
fastcgi_pass -> fastcgi_intercept_errors on;

更多推荐
MybatisHelperPro <<<<自己开发的一个Mybatis反编译插件,能快速生成代码,有兴趣可以看看

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Nginxerror_page 配置用于设置错误面的处理方式。可以使用 error_page 指令将特定的 HTTP 状态码映射到特定的错误面。 语法: error_page 错误码 [= URL]; 例如: ``` error_page 404 /404.html; error_page 500 502 503 504 /50x.html; ``` 这样当服务器返回404状态码时,将会返回/404.html,当服务器返回500,502,503,504状态码时,将会返回/50x.html 请注意,错误面文件必须在服务器上可用。 ### 回答2: 在Nginx中,error_page用于配置服务器遇到错误时的错误面。具体来说,error_page指令用于定义当客户端请求的资源出现错误时所返回给客户端的面或路径。 要配置error_page,首先需要在Nginx配置文件中指定所需的错误代码和对应的错误面或路径。例如,以下是配置404错误错误面为/error/404.html的示例: ``` error_page 404 /error/404.html; ``` 在这个示例中,当服务器返回404错误时,将会将客户端重定向到/error/404.html面。 除了简单的路径,error_page还支持其他形式的配置。例如,可以使用明确的URL来定义错误面: ``` error_page 500 http://example.com/error/500.html; ``` 这个配置将会将500错误重定向到http://example.com/error/500.html面。 还可以将错误配置为其他返回状态码的面,例如400、503等。可以同时配置多个错误面,Nginx会按照配置的顺序查找并使用第一个匹配的错误面。 通过配置error_page,可以在服务器遇到错误时返回适当的错误面,提高用户体验和处理错误的可视化。 ### 回答3: 在Nginx中,可以通过配置error_page来指定自定义错误面。error_page指令允许当服务器出现特定错误时指定一个自定义面来替代默认的错误面。 配置error_page的语法如下: ``` error_page code [target]; ``` code是需要自定义错误面的错误码,可以是一个具体的错误码(如404),也可以是一个错误码的范围(如400-499表示所有的客户端错误)。 target是指定自定义错误面的路径。路径可以是一个本地路径,也可以是一个远程URL。 例如,如果想指定404错误自定义面为`/var/www/html/404.html`,可以在Nginx配置文件中添加如下配置: ``` error_page 404 /404.html; ``` 这样,当出现404错误时,Nginx会显示`/var/www/html/404.html`作为错误面。 另外,可以通过配置多个error_page来指定不同错误码对应的不同自定义面。例如: ``` error_page 404 /404.html; error_page 500 502 /50x.html; ``` 这样,当出现404错误时,会显示`/404.html`作为错误面;当出现500或502错误时,会显示`/50x.html`作为错误面。 需要注意的是,当指定了自定义错误面后,Nginx会优先显示自定义面,如果没有指定自定义面或自定义面不存在,才会显示默认的错误面。 综上所述,通过配置error_page,可以方便地指定自定义错误面,提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值