很多站长在做网站诊断的过程中,往往会查看网站有没有做404页面,一般判断的方法很简单,就是在搜索引擎地址栏随便输入 一个该域名错误链接,然后看有没有404页面。这样对吗?404页面存在的意义就是告诉浏览者和搜索引擎所请求的页面不存在或是链接错误,你这检查只能说 明用户看到的是404页面,而对于搜索引擎呢?会对这个页面返回404状态码吗?

先来来看看下面二张图,你眼中的404页面未必返回404状态码。
请输入图片描述

请输入图片描述

php报错可能是用代码跳转至404页面,而不是真正的返回404码。

php主动返回404码的代码为

header('Location:http://www.lovexpp.com/other/404/index.html');exit();

设置完报错抛出404状态码后,需要设置nginx404页面的展示
步骤如下:
1.创建自己的404.html页面

2.更改nginx.conf在http定义区域加入: fastcgi_intercept_errors on;  添加方法: 在单个配置文件的最底部,server括号外面 加上上面那一行

3.更改nginx.conf(或单独网站配置文件 ),在server区域加入
展示页面顶部url全部为固定的地址  eg: www.xxx.com/404:

error_page 404 = http://www.xxx.com/404;
展示页面顶部url为之前错误的访问地址 eg: www.xxx.com/fadfsdafsd

error_page 404  /404/index.html;
location = /40x.html {
root   /usr/share/nginx/www.lovexpp.com/;
};

4.重启nginx