发布时间:2022-1-12 分类: 电商动态
一个代购源码网站绝对无法避免404页面。使用Nginx作为Web服务器时,有以下集中配置方法。让我们来看看。
第一种:Nginx自己的错误页面
Nginx访问静态html页面。当此页面不可用时,Nginx会抛出404,那么如何将其返回给客户端404?
看下面的配置,在这种情况下你不需要修改任何参数,就可以实现这个功能。
服务器{
听80;
Server_name www.test.com;
Root/var/www/test;
Index index.html index.htm;
位置/{
}
定义错误页码,如果有相应的错误页码,则转发它。
错误页面404 403 500 502 503 504 /404.html;
承接上述地点。
位置=/404.html {
放置错误页面的目录路径。
Root/usr/share/nginx/html;
}
}
第二种:反向代理的错误页面
如果后台Tomcat处理错误并抛出404,并希望将此状态调用Nginx返回客户端或重定向到连接,则配置如下:
上游www {
服务器192.168.1.201: 7777权重=20 max_fails=2 fail_timeout=30s;
Ip_hash;
}
服务器{
听80;
Server_name www.test.com;
Root/var/www/test;
Index index.html index.htm;
位置/{
如果($ request_uri~ *'^/$'){
重写。*http://www.test.com/index.html重定向;
}
关键参数:打开此变量后,我们可以自定义错误页面。当后端返回404时,nginx拦截错误定义错误页面
Proxy_intercept_errors on;
Proxy_passhttp://www;
Proxy_set_header HOST $ host;
Proxy_set_header X-Real-IP $ remote_addr;
Proxy_set_header X-Forwarded-FOR $ proxy_add_x_forwarded_for;
}
Error_page 404 /404.html;
位置=/404.html {
Root/usr/share/nginx/html;
}
}
第三种:Nginx解析php代码的错误页面
如果后端是php解析的,你需要添加一个变量
在http部分中添加变量fastcgi_intercept_errors。
指定错误页面:
Error_page 404 /404.html;
位置=/404.html {
Root/usr/share/nginx/html;
}
指定网址:
Error_page 404 /404.html;
Error_page 404=http://www.test.com/error.html;