最近小舞偶然一次打开自己的错误界面的时候发现自己的错误界面还是自己主题的404.php,这样岂不是太丑了,果断自定义一个404页面来玩玩。
既然是nginx那么404的设置方法就跟正常的设置方法不一样了,小舞折腾了一会发现了一些问题,好在及时发现果断解决掉了。
先说下404的作用:
404错误页的设置对网站SEO有很大的影响,而设置不当,比如直接转跳主页等,会被搜索引擎降权拔毛。404页面的目的应该是告诉用户:你所请求的页面是不存在的,同时引导用户浏览网站其他页面而不是关掉窗口离去。搜索引擎通过HTTP状态码来识别网页的状态。当搜索引擎获得了一个错误链接时,网站应该返回404状态码,告诉搜索引擎放弃对该链接的索引。而如果返回200或302状态码,搜索引擎就会为该链接建立索引,这导致大量不同的链接指向了相同的网页内容。结果是,搜索引擎对网站的信任度大幅降低。
1、首先编辑nginx文件

  1. vi /usr/local/nginx/conf/nginx.conf

在http 区段添加下面代码:

  1. fastcgi_intercept_errors on;

2、然后编辑网站配置文件

  1. vi /usr/local/nginx/conf/vhost/www.5v13.com.conf

在server 区段添加下面代码:

  1. error_page 404 /404.html

其中的404.html代表根目录下的404.html文件,也就是我们自定义的,如果我们在404的文件夹里就填写404/404.html。
测试配置文件是否正确:

  1. /usr/local/nginx/sbin/nginx -t

返回下面代码通过

  1. the configuration file /usr/local/nginx/conf/nginx.conf syntax is okconfiguration file /usr/local/nginx/conf/nginx.conf test is successful

小舞在这里报错了,检查后发现是我的nginx中的文件填写了两次

  1. fastcgi_intercept_errors on;

删除掉一个后测试配置文件成功,然后随便输入一个网址www.5v13.com/xxoo,果然返回了404页面
我本以为大功告成,就去站长工具使用http状态查询
[scbutton link="http://tool.chinaz.com/pagestatus/" target="blank" variation="blue"]http状态查询地址[/scbutton]
结果发现我竟然反馈的是200,而不是404,这显然是不对的,开头的部分已经说了,如果返回200或302状态码,搜索引擎就会为该链接建立索引,这导致大量不同的链接指向了相同的网页内容。结果是,搜索引擎对网站的信任度大幅降低。必须要修改,再检查一遍原来是server段内那段代码我写成了

  1. error_page 404 = /404.html;

这很明显是错误的,果断把=号去掉,测试下,果然是这个原因,顺便发张图片看下效果图20141217171043

发表回复

后才能评论