问题描述
|
嗨,我正在尝试找出用于检查数据库中重定向的代码,是否有一种方法可以在每次脚本运行时测试URL的断开或死链接?我一直在修补get_header和http_send_status,但我是新手,可能做得不好。
解决方法
使用https://www.google.com/webmasters/tools/是关键
,使用w3schools的验证器。
输入您的网站网址,并确保选中
Check linked documents recursively,recursion depth
选项
,您是说用PHP完成重定向吗?喜欢header()
或类似的东西吗?可以使用cURL或类似方法隔离和测试那些链接,以检查它们是否存在。您是否需要检查每个重定向中的每个链接,还是只想检查以便将来能够忽略这些链接?
如果是这样,最好的主意可能是建立一个cron作业,以便每晚进行此操作并记录所有断开的链接。
编辑:
这样的事?
function urlExists($url)
{
$ch = curl_init($url);
curl_setopt($ch,CURLOPT_TIMEOUT,5);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,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;
}
}