网上看了好几篇Nginx错误页error_page的配置,愣是没搞懂为什么这么配,而且跟着写也没达到想要的效果!现在总结下给自己留个笔记。
- 配置自定义的错误页;
location = /404.html {
root html/page;
}
这里location = /404.html
,表示访问 /404.html
时会访问到root
指定目录的html/page
下的404.html
文件,即html/page/404.html
,html
目录是Nginx默认的静态文件目录,Linux同理相对路径就好。
这时候重新
reload
加载配置文件,访问/404.html
就能看到自定义的错误页,但此时访问其他404页面不会重定向到这。
- 绑定重定向错误码和错误页;
error_page 500 502 503 504 404 /404.html;
中间为发生该错误码时重定向的页面,
/404.html
为重定向的页面,即当系统报500 502 503 504 404
错误时都会重定向到/404.html
页面。
- 开启自定义错误重定向,这点很重要。
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反编译插件,能快速生成代码,有兴趣可以看看