博客园  :: 首页  :: 管理

当我们访问一下Ngin部署的网站时,如果访问一个不存在的资源时,默认服务端会返回404错误,如下所示

其实这个页面,我们也是可以自己创建一个页面作为404的返回的,可以通过

即可以通过error_page code ... [=[response]] uri; 进行配置

其他说明: 关于error_page指定能写的位置段为:http, server, location, if in location

当然笔者是建议配置到单独的server,有些情况也可以配置到location中,这样不影响其他server

一个很经典的配置,可以当客户端访问得到404错误页面是,可以返回给他们首页 -(当然创建一个新的页面也可以的),方法如下:

error_page 404 /index.html;

但是这样,也还有一个小问题,就是404页面,我们虽然指定了,但是通过开发者工具或者curl -I 的方式还是能看到 HTTP/1.1 404 Not Found 的响应

如果需要连code也隐藏,可以将404设置为200成功的响应,再为其配置一个单独的页面,如下配置即可:

error_page 404 =200 /index.html;

语法要求如下,注意空格,和=200要求是一个整体,这样配置下来,对于外部,即使访问的不存在的资源,也会指向到首页,而且还隐藏了404错误的http code

并返回:HTTP/1.1 200 OK  , 这样我们对于信息的暴露又少了一点,页面对于普通用户来说,也更加的友好了

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17341543.html