<?php
function isWebsiteAccessible($url) {
    // 创建一个cURL资源
    $ch = curl_init();

    // 设置URL和其他cURL选项
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 10);

    // 执行cURL请求,获取响应
    $response = curl_exec($ch);

    // 获取cURL请求的HTTP状态码
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

    // 关闭cURL资源
    curl_close($ch);

    // 判断网站是否能够正常访问
    if ($httpCode >= 200 && $httpCode < 300) {
        return true;
    } else {
        return false;
    }
}

// 测试网站是否能够正常访问
$url = "网站";
if (isWebsiteAccessible($url)) {
    echo "网站可以正常访问";
} else {
    echo "网站无法访问";
}
?>

<?php
function isWebsiteAccessible($url) {
    // 检查URL是否可访问
    $headers = @get_headers($url);
    
    // 检查是否存在重定向
    if ($headers && preg_match('/^HTTP\/\d\.\d\s+(301|302)/', $headers[0])) {
        // 获取重定向的URL
        $location = '';
        foreach ($headers as $header) {
            if (stripos($header, 'Location:') === 0) {
                $location = trim(substr($header, 9));
                break;
            }
        }
        
        // 处理重定向的URL
        if (!empty($location)) {
            return isWebsiteAccessible($location);
        }
    }
    
    // 检查是否为HTTPS网站
    if ($headers && preg_match('/^HTTP\/\d\.\d\s+200/', $headers[0])) {
        $isHttps = false;
        foreach ($headers as $header) {
            if (stripos($header, 'Strict-Transport-Security:') === 0) {
                $isHttps = true;
                break;
            }
        }
        
        if ($isHttps) {
            // 处理HTTPS网站
            // 可以使用curl或其他方式进行进一步处理
            // 例如:curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        }
    }
    
    // 检查是否为域名未解析
    if ($headers && preg_match('/^HTTP\/\d\.\d\s+503/', $headers[0])) {
        // 处理域名未解析
        // 可以返回错误信息或其他处理方式
        return false;
    }
    
    // 网站可正常访问
    return true;
}

// 示例用法
$url = '网站';
if (isWebsiteAccessible($url)) {
    echo '网站可正常访问';
} else {
    echo '网站无法访问';
}
?>

<?php
function isWebsiteAccessible($url) {
    // 检查URL是否为空
    if (empty($url)) {
        return false;
    }

    // 添加协议前缀,如果没有指定协议
    if (!preg_match("~^(?:f|ht)tps?://~i", $url)) {
        $url = "http://" . $url;
    }

    // 解析URL
    $parsedUrl = parse_url($url);

    // 检查域名是否解析
    $ip = gethostbyname($parsedUrl['host']);
    if ($ip == $parsedUrl['host']) {
        return false;
    }

    // 检查域名拼写是否正确
    if (!checkdnsrr($parsedUrl['host'], 'A') && !checkdnsrr($parsedUrl['host'], 'AAAA')) {
        return false;
    }

    // 检查是否重定向
    $headers = get_headers($url);
    if ($headers && preg_match('/^HTTP\/\d\.\d\s+(301|302)/', $headers[0])) {
        return false;
    }

    // 检查是否为HTTPS网站
    if ($parsedUrl['scheme'] == 'https') {
        // 使用cURL进行HTTPS请求
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch, CURLOPT_HEADER, true);
        curl_setopt($ch, CURLOPT_NOBODY, true);
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        $response = curl_exec($ch);
        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
        curl_close($ch);

        if ($httpCode != 200) {
            return false;
        }
    }

    return true;
}

// 测试示例
$url = "域名";
if (isWebsiteAccessible($url)) {
    echo "网站可以正常访问";
} else {
    echo "网站无法访问";
}
?>