嗨,我正在尝试找出用于检查数据库中重定向的代码,有没有一种方法可以在每次脚本运行时测试 URL 中是否存在损坏或死链接?我一直在修补 get_header 和 http_send_status 但我是新手,可能做得不对。
问问题
1069 次
3 回答
0
于 2011-05-25T11:39:17.820 回答
0
你的意思是重定向是用PHP完成的吗?喜欢header()
还是类似?可以使用 cURL 或类似方法隔离和测试这些链接,以检查它们是否存在。您是否需要在每次重定向时检查每个链接,还是只想检查以便将来能够忽略这些链接?
如果是这样,最好的办法可能是设置一个 cron 作业,每晚执行此操作并记录所有损坏的链接。
编辑:
像这样的东西?
function urlExists($url)
{
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_TIMEOUT, 5);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
$httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
// Check return code to determine if page exists
if($httpcode >= 200 && $httpcode < 300){
return true;
} else {
return false;
}
}
于 2011-05-25T11:38:10.380 回答
0
使用来自 w3schools 的这个验证器。
输入您的网站网址并确保选中Check linked documents recursively, recursion depth
选项
于 2011-05-25T11:42:21.563 回答