无意中发现自己论坛的自定义404页面返回的是200,
百度了下,据说这样对seo不利.
然后搜到了解决方法:
- 这样的情况设置一般是这样的(网上的相关文章也是这样)
http{
.....
fastcgi_intercept_errors on;
.....
}
#----------------------------------------
server{
error_page 404 = /8c6f66dcfc8a3282/index.html; #只是转跳而已
}- 正确的设置方法应该是这样(去掉等号)
http{
.....
fastcgi_intercept_errors on;
.....
}
#----------------------------------------
server{
error_page 404 /8c6f66dcfc8a3282/index.html;
}- 平滑启动Nginx即可解决该问题
/usr/local/ws/nginx/sbin/nginx -s reload
去掉等号,重启nginx,再次查询,返回了正确的状态码:
另外一开始的404页面在子目录会显示不正常,比如www.tecbbs.com/a/a.aa,虽然返回404页面了,但是样式没了,看来样式路径有问题,改下代码,加上base href:
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>404错误</title>
<base href="http://www.tecbbs.com/" /><link href="404/style.css" rel="stylesheet" />
</head>
<body>
<div class="error_wrap">
<h1>此路不通 -_- !</h1>
<p>抱歉,您访问的页面地址有误,或者该页面不存在。</p>
<p>请检查输入的网址是否正确。</p>
<p>您可以:<a href="http://www.tecbbs.com/">返回首页</a></p>
</div>
</body>
</html>
参考百度经验:http://jingyan.baidu.com/article/b2c186c88ca630c46ff6ff71.html
发表回复