商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何解析Apache日志中的404错误

如何解析Apache日志中的404错误

  发布于2026-06-30 阅读(0)

扫一扫,手机访问

要定位Apache服务器上的404错误,其实并不复杂,核心就是盯紧两类日志:访问日志(access log)和错误日志(error log)。它们就像服务器的“黑匣子”,一个记录谁来了、要什么,一个记录服务器内部出了什么状况。下面直接拆解怎么从里面找出那些“找不到页面”的请求。

如何解析Apache日志中的404错误

访问日志(access log)

访问日志记录的是每一笔对网站的请求。要揪出404错误,直接找状态码为404的行就行。典型格式长这样:

IP_Address - - [Date/Time] "Request" Status_Code Response_Size "Referer" "User_Agent"

举个例子:

192.168.1.1 - - [25/Oct/2021:13:45:36 +0000] "GET /nonexistent-page.html HTTP/1.1" 404 2326 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"

看到末尾的“404”了吗?这就意味着客户端请求的资源压根不存在。

错误日志(error log)

错误日志记录的是服务器内部抛出的问题。要找404相关条目,直接搜包含“404”的行即可。格式因配置而异,但通常包含时间、级别、进程ID和具体信息:

[Date/Time] [Error_Level] [PID] [Message]

比如这样一个典型条目:

[Thu Oct 25 13:45:36 2021] [error] [client 192.168.1.1] File does not exist: /var/www/html/nonexistent-page.html

错误消息直接告诉你哪个文件找不到,比访问日志更直白。

解析日志

解析这些日志,最直接的办法就是用文本编辑器打开手动找,但效率太低。实际项目中,几行命令就能搞定。常用工具包括:

  • grep:根据关键词筛选行
  • awk:按条件过滤并做统计
  • sed:对文本做替换、删除等操作

举例来说,用grep快速找出访问日志中所有404请求:

grep ' 404 ' access.log

如果想统计一下今天到底有多少次404,用awk更干脆:

awk '$9 == "404" {count++} END {print count}' access.log

拿到这些信息后,下一步就是定位具体缺失的资源,然后决定是补一个正确的页面,还是做301重定向、修复链接——这才是解决404问题的完整闭环。

本文转载于:https://www.yisu.com/ask/47491338.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

产品推荐

热门关注