百度抓取php出现404,PHP-如何获取404页面的来源网址?

本文介绍了如何通过配置Nginx实现自定义404错误页面,以及如何通过日志分析404请求。在自定义的404页面中,可以使用Ajax记录错误网址,但这种方法可能受到浏览器设置的影响,如IE浏览器可能会跳过自定义页面。建议直接分析Nginx日志以获取更准确的404信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你有服务器权限,直接分析Nginx的日志就行了,一条404请求的日志如下所示:

60.247.113.42 - - [07/Jul/2011:17:46:29 +0800] "GET /aaaaaaaa HTTP/1.1" 404 169 "-" "Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0"

另外Nginx的404页面是可用自定义的,在自定义的404页里,你可以通过Ajax或者其他方式记录来记录当前的网址。

fastcgi_intercept_errors on;

server

{

listen 80;

server_name www.XXX.com;

index index.html index.htm index.php;

error_page 404 = /404.htm;

include location.conf;

root /home/www/logs;

}

404页的代码可以通过js获取网址传到指定的php页面:

document.write('');

test.php是你要记录404访问网址的php程序,可用获取访问的网址:

$url = $_GET["ref"];

//....do something

?>

不过经过测试,发现上面的自定义404页的方法还是挺有弊端的,会受浏览器的设置影响,像我的ie浏览器就会跳到ie自己的404页,根本不会显示上面我们自定义的页面,所以建议最好还是直接分析Nginx的日志

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值