<?php
/**
 * 404处理 + 日志记录
 * 由nginx error_page 404 指令调用
 */
require_once __DIR__ . '/include/config.php';

// 记录404日志（异步，不阻塞响应）
$url = $_SERVER['REQUEST_URI'];
$referer = $_SERVER['HTTP_REFERER'] ?? '';
$user_agent = $_SERVER['HTTP_USER_AGENT'] ?? '';
$ip = $_SERVER['REMOTE_ADDR'] ?? '';

// 过滤静态资源
if (preg_match('/\.(gif|jpg|jpeg|png|svg|ico|css|js|woff|woff2|ttf|otf|eot|webp|mp3|mp4|zip|rar|pdf)$/i', $url)) {
    http_response_code(404);
    echo 'Not Found';
    exit;
}

// 异步写入数据库（不阻塞页面返回）
try {
    $db = new PDO('mysql:host=127.0.0.1;port=3306;dbname=aliyun;charset=utf8mb4', 'aliyun', '8dki3waDFme2T5x4', [PDO::ATTR_TIMEOUT => 1]);
    $stmt = $db->prepare("INSERT INTO site_404_logs (url, referer, user_agent, ip) VALUES (?, ?, ?, ?)");
    $stmt->execute([$url, $referer, $user_agent, $ip]);
} catch (Exception $e) {
    // 静默失败，不影响用户
}

// 输出友好404页面
http_response_code(404);
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>页面不存在 - <?php echo SITE_NAME; ?>网络</title>
<style>
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:-apple-system,BlinkMacSystemFont,'PingFang SC',sans-serif;background:#f5f5f5;min-height:100vh;display:flex;align-items:center;justify-content:center;}
.container{text-align:center;padding:40px 20px;}
.icon{font-size:80px;color:#ddd;margin-bottom:24px;}
h1{font-size:120px;font-weight:800;color:#1a1a2e;line-height:1;margin-bottom:16px;}
h2{font-size:24px;font-weight:600;color:#333;margin-bottom:12px;}
p{font-size:15px;color:#888;margin-bottom:32px;}
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;background:#FF6A00;color:#fff;border-radius:8px;text-decoration:none;font-weight:600;font-size:15px;transition:opacity 0.2s;}
.btn:hover{opacity:0.85;}
.links{margin-top:20px;font-size:14px;color:#aaa;}
.links a{color:#888;text-decoration:none;margin:0 8px;}
.links a:hover{color:#FF6A00;}
</style>
</head>
<body>
<div class="container">
    <div class="icon">404</div>
    <h2>抱歉，页面不存在</h2>
    <p>您访问的页面已删除、搬移或地址有误</p>
    <a href="/" class="btn"><i class="fas fa-home"></i> 返回首页</a>
    <a href="/contact/" class="btn" style="background:#1a1a2e;margin-left:12px;"><i class="fas fa-headset"></i> 联系客服</a>
    <div class="links">
        <a href="/">返回首页</a>｜<a href="/news/">新闻动态</a>｜<a href="/help/">帮助中心</a>
    </div>
</div>
</body>
</html>
