欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

nginx设置404页面跳转

程序员文章站 2022-06-03 14:59:55
...

nginx设置404页面跳转

如果网页的链接地址改变了,在通过这个地址访问的时候会返回一个错误码404.表示没有找到该地址内容.这个在建站初期是很容易发生的事.我的文章开始是通过中文名作为URL的,后来改为数字作为URL.这时网上已经有很多文章中存储了以前的已经失效的地址.这样导致搜索引擎抓取网页时会有大量的失效链接.死连数量多会导致搜索引擎降权, 我的网站dashidan.com就没有被bing收录. 很惨痛的教训.针对404有2种补救措施。发生404错误时指向404.html页面或者做网页重定向.

1 nginx设置404错误指向页面

更改nginx.conf中在server区域加入error_page页面:

error_page 404 /404.html

2 制作一个404.html页面

可以做一个静态html页面来作为道歉页面,404页面最好有主页的链接,方便用户找到主页.参考页面http://dashidan.com/404.html.

3 重启nginx使配置生效

重启完成后,可以输入一个不存在的页面来查看效果.

4 避免出现404错误

网页避免出现404错误的最佳方案是在设计网站之初对整体的URL做好完整的规划. 否则只能在出现问题后补救了. 以大屎蛋教程网的url规划为例:

  • 文章均放在article目录
  • 文章根据语言分类 article/java, article/mongodb...
  • 图片放在img目录
  • 下载资源放在download目录
  • css文件放在css目录
  • js脚本文件放在js目录

有了合理的规划就能最大程度避免出现404错误.

5 roboot.txt屏蔽404页面

在roboot.txt文件中加入死链url,来避免搜索引擎访问并收录已失效的网页.也是针对404错误的一种补救措施.这种方式也是在外部链接地址无法修改的情况的解决方案.通过这种方式告诉搜索引擎这些页面不存在了,从索引中移除, 减少搜索引擎中的死链.对网站评级有一定的帮助.

通过robot设置屏蔽指定网页的示例:

User-agent: *
Disallow: /article/java/basic/屏蔽.html
Disallow: /article/java/basic/大屎蛋教程网
Disallow: /article/java/basic/dashidan.com

6 nginx对404页面进行301重定向

return 301 https://$server_name$request_uri;
转载请保留本文链接.