早上逛站长交流群,看见好几个朋友在吐槽刚改完网站链接,结果全站都出http返回404,客户都找上门来了,急得团团转。其实做站久了,谁没碰到过404呢?有时候只是单个页面出问题,有时候全站都是404,不同情况原因不一样,排查思路也差很多。今天就跟大家唠唠,我这些年碰到这类问题的常见原因,还有一步步怎么排查,帮大家少走点弯路。

http返回404的常见诱因
说白了,404就是服务器告诉浏览器,你要找的这个资源我找不到了。为啥找不到?最常见的就是页面本身不存在了——要么是你自己删掉了文章、产品页面,要么是你改了文章的链接地址,没做301跳转,旧地址就直接变成404了。还有一种很常见的情况,就是网站搬家迁移的时候漏传了文件,本来这个文件应该在服务器的对应路径下,结果你没传上去,浏览器访问当然找不到咯。
其次,就是URL本身写错了。要么是用户手动输入地址的时候打错了字母符号,要么是你网站内链写的时候漏了字符,或者外链网站给你加链接的时候拼错了,这种单个的404其实问题不大,只要不是太多就不会对整体有什么影响。还有一种情况,就是配置伪静态规则的时候写错了规则,本来应该正常解析的链接,因为规则不匹配,服务器找不到对应的文件,自然返回404。
还有一种比较少见的情况,就是域名解析到期或者解析错误,把整个域名指向了一个不存在的服务器,那所有页面自然都是404,这个我们后面再说。
单个页面404怎么排查
如果只是单个页面出404,排查起来其实很简单,先从最容易排除的地方开始。先看看是不是本地缓存的问题,换个浏览器,或者清空一下当前浏览器的缓存,重新输入地址打开试试——有时候你改完链接,浏览器还读取旧缓存,就容易出问题,我自己就碰到过好几次,白吓一跳。
如果换了浏览器还是404,那接下来登录你的网站后台,或者服务器后台,看看这个页面对应的文件或者数据还在不在。如果是静态网站,就去对应路径下看看那个html文件还在不在;如果是用WordPress这类CMS程序,就去后台看看这篇文章还在不在,是不是被改成草稿或者误删除了。
如果文件和数据都在,那就要检查你写的链接地址对不对,有没有多打斜杠、少打字母,后缀对不对。比如你把.html写成.htm了,那肯定找不到啊。要是链接没错,那再看伪静态规则,是不是新添加的文章没有匹配到规则,或者规则改了之后没重启web服务器,以服务商或官方页面说明为准调整规则就行。
全站返回404怎么排查
要是你网站所有页面都是404,那问题肯定出在更上层了,还是从最容易查的地方一步步来。首先检查你的域名解析对不对——有没有解析到正确的服务器IP?会不会是域名到期没续费,解析被停了?或者你刚改完DNS,还没到生效时间?可以用本地的ping命令,看看域名解析出来的IP对不对,不对的话就得赶紧改解析。
解析没问题的话,接下来登录服务器检查。首先看web服务有没有正常运行,比如Nginx、Apache有没有启动,没启动的话重启一下试试。我之前就碰到过一个新手,服务器重启之后web服务没设开机自启,结果全站404,折腾了半天才发现。
要是服务正常运行,那接下来看web服务器配置里,网站的根目录指向对不对?会不会你改了根目录路径,或者服务器重装了系统,目录变了?我之前帮客户排查问题,就碰到过一个情况,搬服务器的时候把根目录从/www改成了/web,结果配置没改,全站404,找了半天就这么点小事。
根目录没错的话,再检查对应路径下的默认首页文件还在不在,比如index.html、index.php这些,是不是被误删了?要是默认首页都没了,那打开域名肯定返回404啊。还有一种情况,就是你网站程序刚装完,还没上传内容,根目录是空的,那也会全站404,这种就纯纯是新手容易犯的错了。
排查完之后怎么处理
查出来原因之后,处理其实就简单了。如果是文件删了,那要么恢复文件,要么做个301跳转到相关的新页面,别留着死链占着位置。如果是配置错了,改对配置就行,改完别忘重启web服务加载新配置,好多人就是改完不重启,白等半天还没好。
要是链接改了,记得把网站内链都更新了,旧链接做跳转,避免用户点进来又碰到404,影响体验不说,对搜索引擎也不友好。另外,平时做站最好养成个好习惯,改链接或者删页面前先做好备份,改完之后自己先点几个页面试试,别等客户找上门才发现问题。
没事也可以用站长工具定期扫扫网站,看看有没有过多的404死链,及时清理之后提交给搜索引擎,避免不必要的影响。碰到大量404,也别慌,只要找到根源,处理起来都快。
其实http返回404不算什么大问题,只要一步步按思路排查,大部分都能很快找到原因,怕就怕病急乱投医,改了这忘了那,越弄越乱。碰到问题先静下来,从最简单的地方开始试,慢慢往上找,总能解决的。我刚做站那会,碰到一次全站404,急得一晚上没睡,最后发现就是我改配置的时候多打了一个斜杠,你说可笑不可笑?所以说,慢慢来,细心点就好。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!