在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
404页面基础配置 vi /usr/local/nginx/conf/nginx.conf 编辑Nginx配置文件,在http 区段添加下面代码: fastcgi_intercept_errors on; 2、编辑网站配置文件,比如本站: vi /usr/local/nginx/conf/vhost/onelone.com.conf ,在server 区段添加下面代码: error_page 404 = /404.html; 注意:有网友测试上行代码需要去掉等号才会返回正确的404状态,所以请同学们自行测试是否要去掉等号。 3、测试配置文件是否正确: /usr/local/nginx/sbin/nginx -t ,返回下面代码通过: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok configuration file /usr/local/nginx/conf/nginx.conf test is successful 4、重启LNMP生效:/root/lnmp restart 。 5、404错误页面制作的注意事项: AJAX请求的404页面返回 404.html This is 404 page. 请求一个不存在的页面: ajax Code: $.ajax({ url: "does_not_exist.html", success : function(Response, textStatus){ console.log(textStatus+":"+Response); }, error : function(XMLHttpRequest, textStatus, errorThrown){ console.log([XMLHttpRequest, textStatus, errorThrown].join(",")); } }); 执行结果: 进入Object看看详细: 找不到请求的页面并返回404页面信息,但状态码依然是200,所以jQuery没有走error函数回调而是直接走success回调了。 error_page 404 = /404.html; 于是我查阅官网文档,把上面的表达式改写为: error_page 404 /404.html; 然后重启 D:\nginx-1.5.11>nginx.exe -s reload 再来试试: 再来看看ajax请求的: 明显看到相比前面那条返回标红404状态码,下面console.log出来的是 [object Object],error,Not Found 然后点击进入Object看看: status值是404。既实现返回404页面,又能返回404状态码让ajax请求能够根据状态码判断页面请求状况进行错误处理。 下面是其它网友的补充: 一.Nginx错误页面优雅显示的原因? 二.Nginx下如何定义优雅显示的页面呢? 举一反三:502、403 等其他错误可以用同样的方法来配置。 |
请发表评论