• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >Nginx > Nginx正确设置404自定义页面解决软404错误

Nginx正确设置404自定义页面解决软404错误

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含nginx配置静态页面,nginx 默认页面,nginx配置错误页面,nginx 静态页面,nginx 自定义协议等服务器相关知识,网友希望可以进行参考

某一天,在Google管理员工具控制台下看到了大量的"软404"错误,查找了一些资料之后发现是自己在Nginx下配置404页面的方法不对才导致了错误的产生,在此记录一下Nginx下正确的404页面配置方法。

404是一个相应代码,表示"页面无法找到"(Page Not Found),Google关于"软404"给出的说法是:

Instead of returning a 404 response code for a non-existent URL, websites that serve "soft 404s" return a 200 response code.

就是说对于那些不存在的URL,服务器并没有返回404(Page Not Found)代码,而是返回了200(OK)代码,而这是不正常的。

之后在其它的搜索结果里我又看到了这样一段话

Soft 404s can occur as a result of configuration errors when an Error Document 404 is specified as an absolute path rather than a relative path.

看完之后恍然大悟,因为我的404自定义页面是有图片和CSS的,而图片跟CSS都是以相对路径(eg. /xxx/xxx)写在页面里的,所以为了能让整站都能看到404页面里的图片,我就把404页面在Nginx里定义成了绝对路径(eg. http://www.slyar.com/xxx/xxx),由于页面被当成了外部页面,所以会返回200代码,由此产生了"软404"错误。

知道了错误,那就好办了。将404页面的路径定义为相对路径,至于图片和CSS,只要在页面里使用绝对路径即可。

Nginx下正确的404页面定义方法:

1、VIM编辑Nginx配置文件,用了vhosts的就单独改,没用的直接改nginx.conf

vim  /usr/local/nginx/conf/nginx.conf

or

vim  /usr/local/nginx/conf/vhosts/slyar.com.nginx.conf

2、以相对路径指定404页面

server {
#error_page 404 http://www.slyar.com/404.html
error_page  404 /404.html;
}

3、:wq保存退出,重新加载Nginx

/usr/local/nginx/sbin/nginx -s reload

4、重新检查一下不存在的页面,看是否返回404

curl -I http://www.slyar.com/slyar

HTTP/1.1 404 Not Found
Server: nginx/1.0.15
Date: Mon, 27 Aug 2012 08:13:56 GMT
Content-Type: text/html
Content-Length: 2110
Connection: keep-alive

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • nginx下404错误页面的配置方法
  • Nginx正确设置404自定义页面解决软404错误

相关文章

  • 使用Nginx给Google App Engine做负载均衡
  • Nginx开启Gzip压缩大幅提高页面加载速度
  • nginx 配置禁止访问目录或文件
  • Nginx下WordPress后台wp-admin不自动加斜杠的问题
  • IIS与Nginx实测对比[1]:虚拟机处理静态文件
  • Ubuntu下Nginx/PHP/MYSQL开发环境的配置方法
  • nginx下404错误页面的配置方法
  • nginx1.1.0无缝升级升级到1.1.1教程
  • nginx用mod_proxy实现反向代理配置
  • nginx支持.htaccess文件实现rewrite伪静态

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • Nginx修改配置实现图片防盗链
    • Nginx开启Gzip压缩大幅提高页面加载速度
    • nginx支持.htaccess文件实现rewrite伪静态
    • nginx 设置网站目录访问验证方法
    • IIS与Nginx实测对比[1]:虚拟机处理静态文件
    • Nginx下统一顶级域名和www子域名实现自动转向
    • Debian 7 安装LNMP服务器命令详解
    • Nginx怎么打开目录浏览功能(autoindex)
    • Nginx正确设置404自定义页面解决软404错误
    • Nginx下设置虚拟主机的技巧一则

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有