Php 检查网站是否存在,为google.com返回false

Php 检查网站是否存在,为google.com返回false,php,curl,Php,Curl,我使用以下方法检查网站是否存在: function urlExists($url = NULL) { if ($url == NULL) return false; $ch = curl_init($url); curl_setopt($ch, CURLOPT_TIMEOUT, 5); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); curl_setopt($ch, CURLOPT_RETURN

我使用以下方法检查网站是否存在:

function urlExists($url = NULL) {  
    if ($url == NULL) return false;  
    $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);   
    if ($httpcode >= 200 && $httpcode < 300){  
        return true;  
    } else {  
        return false;  
    }  
}  
函数urlExists($url=NULL){
如果($url==NULL),则返回false;
$ch=curl\u init($url);
curl_setopt($ch,CURLOPT_超时,5);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,5);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
$data=curl\u exec($ch);
$httpcode=curl\u getinfo($ch,CURLINFO\u HTTP\u代码);
卷曲关闭($ch);
如果($httpcode>=200&$httpcode<300){
返回true;
}否则{
返回false;
}  
}  

对于
google.com
,它似乎返回false,但对于
www.google.com
,则返回false。为什么?

谷歌有一个页面重定向。所以也要使用这个选项

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
如果您的链接包含https://,请使用:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);

为什么不检查一下回复并找出答案呢?我想google.com会重定向到www.google.com,而你没有检查。你对存在的定义是狭义的
CURL\u FOLLOWLOCATION
google.com可能会返回301或302状态。