🐛 附:导航链接 404 Bug 修复记录
发现时间:2026-04-26 | 影响范围:7个全球站域名 | 状态:✅ 已修复
🐛 问题概述
全球站(非 appleclaw 域名)点击首页导航「📊 统计」后,页面跳转到 stats.php?format=html,返回 404 Not Found 错误。
用户点击统计链接时以为功能坏了,实际上是服务器端根本没有这个文件。
错误现象:
- 点击「📊 统计」导航 → 空白页或 404 错误
- 直接访问
https://qqcmd.cn/stats.php?format=html → HTTP 404
- curl 测试:
curl -sI https://qqcmd.cn/stats.php?format=html → 404
🔍 根因分析
两站服务器架构差异
| 项目 | 🏠 香港站 | 🌍 全球站 |
| 操作系统 | Linux | Windows IIS 10.0 |
| PHP 支持 | ✅ 支持 | ❌ 不支持 |
| 文件类型 | PHP + HTML | 仅静态 HTML/JS |
| 统计链接 | stats.php?format=html | stats_combined.html |
| FTP 主机 | host0012314959.xincache1.cn | host9309191354.xincache1.cn |
旧版导航逻辑 Bug
旧代码:
location.hostname.includes('appleclaw')
? 'stats_combined.html' ← appleclaw 走这里 ✅
: 'stats.php?format=html' ← 其他全部走这里 ❌
问题:全球站非 appleclaw 域名(如 qqcmd.cn)也走进了 stats.php
但全球站是 IIS 服务器,根本没有 PHP → 404
⚠️ 注意:全球站 yyclaw.net、yyyclaw.com、qqqclaw.cn、qqcmd.cn、qqcmd.com、qqcmd.net、cmdclaw.net 这 7 个域名不在香港站也不含 appleclaw,所以被错误指向了不存在的 PHP 文件。
🔧 修复方案
修改全球站 /www/index.html 导航逻辑,改为精确判断:
修复后代码(2026-04-26):
location.hostname==='cmdcode.cn'
? 'stats.php?format=html' ← 仅 cmdcode.cn 走 PHP 统计页
: 'stats_combined.html' ← 其他所有域名走静态页
生效范围
| 域名 | 服务器 | 修复前 | 修复后 | 状态 |
| yyclaw.net | 全球站 IIS | stats.php → 404 | stats_combined.html | ✅ 已修复 |
| yyyclaw.com | 全球站 IIS | stats.php → 404 | stats_combined.html | ✅ 已修复 |
| qqqclaw.cn | 全球站 IIS | stats.php → 404 | stats_combined.html | ✅ 已修复 |
| qqcmd.cn | 全球站 IIS | stats.php → 404 | stats_combined.html | ✅ 已修复 |
| qqcmd.com | 全球站 IIS | stats.php → 404 | stats_combined.html | ✅ 已修复 |
| qqcmd.net | 全球站 IIS | stats.php → 404 | stats_combined.html | ✅ 已修复 |
| cmdclaw.net | 全球站 IIS | stats.php → 404 | stats_combined.html | ✅ 已修复 |
部署操作
# 1. 下载并修复 index.html
sed -i "s|location.hostname.includes('appleclaw')?'stats_combined.html':'stats.php?format=html'|location.hostname==='cmdcode.cn'?'stats.php?format=html':'stats_combined.html'|g" index.html
# 2. 上传到全球站(所有全球站域名共享同一份 index.html)
lftp -u host9309191354,Xusu8800033 host9309191354.xincache1.cn -e "
set ftp:charset GBK
set ftp:passive-mode on
put -O /www/ /path/to/fixed_index.html -o index.html
quit
"
# 3. 验证
curl -sL https://qqcmd.cn/ | grep -o "location.href=.*stats"
# 应显示:location.href=location.hostname==='cmdcode.cn'?'stats.php?format=html':'stats_combined.html'
💡 关键发现:全球站是虚拟主机配置,所有域名共享同一个 /www/index.html。只需上传一份修复后的文件,即可覆盖全部全球站域名。
🗺️ 域名服务器归属表
香港站域名(19个)→ PHP 追踪器
| 域名 | 统计链接目标 | 状态 |
| cmdcode.cn | stats.php?format=html | ✅ PHP 可用 |
| yyyclaw.online | stats_combined.html | ✅ 已修复 |
| dnmclaw.com / .cn | stats_combined.html | ✅ 已修复 |
| appleclaw.top / .live / .pub / .vip / .online / .world | stats_combined.html | ✅ 已修复 |
| qqclaw.space / .vip / .shop / .club | stats_combined.html | ✅ 已修复 |
| qqcmd.shop / .online | stats_combined.html | ✅ 已修复 |
| cmdbot.cn | stats_combined.html | ✅ 已修复 |
| yyyclaw.net | stats_combined.html | ✅ 已修复 |
全球站域名(16个)→ JS 追踪器(无 PHP)
| 域名 | 统计链接目标 | 修复前状态 | 修复后 |
| yyclaw.net | stats_combined.html | ❌ 404 | ✅ |
| yyyclaw.com | stats_combined.html | ❌ 404 | ✅ |
| qqqclaw.cn | stats_combined.html | ❌ 404 | ✅ |
| qqcmd.cn / .com / .net | stats_combined.html | ❌ 404 | ✅ |
| cmdclaw.net | stats_combined.html | ❌ 404 | ✅ |
| appleclaw.cc / .shop / .space / .work / .net / .cloud / .chat / .studio | stats_combined.html | ✅ 正常 | ✅ |
| qqclaw.site | stats_combined.html | ⚠️ HTTPS 挂了 | 待处理 |
✅ 验证方法
验证步骤
# 1. 检查导航链接代码(应为修复后的逻辑)
curl -sL https://qqcmd.cn/ | grep -a "📊 统计"
# 应显示:onclick="location.href=location.hostname==='cmdcode.cn'?'stats.php?format=html':'stats_combined.html'"
# 2. 检查统计页面是否 200 OK
curl -sI https://qqcmd.cn/stats_combined.html
# HTTP/2 200
# 3. 确认旧链接已 404(全球站无 PHP)
curl -sI https://qqcmd.cn/stats.php?format=html
# HTTP/2 404
# 4. 浏览器强制刷新(清除缓存)
# Windows: Ctrl + Shift + R
# Mac: Cmd + Shift + R
# 然后点击「📊 统计」链接
🕐 浏览器缓存:全球站 index.html 更新后,用户本地浏览器可能缓存了旧页面。修复后需强制刷新或清除浏览器缓存才能看到新导航逻辑。
📊 统计页面数据刷新机制
stats_combined.html 是纯静态 HTML 文件,本身不存储数据。页面打开时由 JS 实时从 API 拉取最新数据:
用户打开 stats_combined.html(静态页)
↓ JS fetch()
stats_combined_api.php(API 接口,香港站)
↓ SQL 查询
MySQL 数据库(visit_logs / global_visit_logs)
↓
实时渲染统计图表
数据更新方式
| 方式 | 说明 | 实时性 |
| 打开页面自动刷新 | 每次打开 stats_combined.html 自动从 API 拉取 | ✅ 实时 |
| API 手动调用 | curl https://cmdcode.cn/stats_combined_api.php | ✅ 实时 |
| 访问任意域名首页 | 自动触发 tracker 记录访问 | ✅ 自动 |
🏗️ 技术栈速查
| 组件 | 类型 | 位置 | 说明 |
| tracker.php | PHP | 香港站 /www/ | 香港站访问记录,写入 MySQL |
| tracker_global.php | PHP | 香港站 /www/ | 全球站跨域 API(CORS 开放) |
| tracker_global.js | JS | 两站 /www/ | 全球站 JS Tracker,跨域 POST 到 tracker_global.php |
| stats_combined_api.php | PHP | 香港站 /www/ | 汇总统计 API |
| stats_combined.html | HTML | 两站 /www/ | 统计展示页,JS 实时拉取 API |
| MySQL | DB | 香港站 | visit_logs + global_visit_logs |