<?php
/**
 * sitemap.php — 动态站点地图（XML）
 *
 * 相比静态 sitemap.xml 的优势：
 *   - lastmod 始终为当天，符合 Google「lastmod 必须准确」的要求，利于百度/Google 及时重抓
 *   - URL 随 $JKBA_SITE['pretty_url'] 自动切换伪静态 / 参数形态，不会与 canonical 不一致
 *
 * 用法：把搜索引擎后台提交的站点地图地址改为 https://www.jkba.cc/sitemap.php
 *      （或在服务器上把 /sitemap.xml 重写到本文件，规则见 nginx-pseudo-static.conf）
 */

require_once __DIR__ . '/config.php';

$today = date('Y-m-d');
$base  = rtrim($JKBA_SITE['base_url'], '/');

header('Content-Type: application/xml; charset=utf-8');
header('Cache-Control: public, max-age=3600');
header('X-Content-Type-Options: nosniff');

echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
echo '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"' . "\n";
echo '        xmlns:xhtml="http://www.w3.org/1999/xhtml">' . "\n";

// 首页
echo "  <url>\n";
echo '    <loc>' . htmlspecialchars($base . '/', ENT_XML1 | ENT_COMPAT, 'UTF-8') . "</loc>\n";
echo '    <xhtml:link rel="alternate" hreflang="zh-CN" href="' . htmlspecialchars($base . '/', ENT_XML1 | ENT_COMPAT, 'UTF-8') . "\"/>\n";
echo '    <xhtml:link rel="alternate" hreflang="x-default" href="' . htmlspecialchars($base . '/', ENT_XML1 | ENT_COMPAT, 'UTF-8') . "\"/>\n";
echo "    <changefreq>daily</changefreq>\n";
echo "    <priority>1.0</priority>\n";
echo '    <lastmod>' . $today . "</lastmod>\n";
echo "  </url>\n";

// 分类落地页
foreach ($JKBA_CATEGORIES as $c) {
    $loc = jkba_cat_url($c['id']);
    echo "  <url>\n";
    echo '    <loc>' . htmlspecialchars($loc, ENT_XML1 | ENT_COMPAT, 'UTF-8') . "</loc>\n";
    echo '    <xhtml:link rel="alternate" hreflang="zh-CN" href="' . htmlspecialchars($loc, ENT_XML1 | ENT_COMPAT, 'UTF-8') . "\"/>\n";
    echo '    <xhtml:link rel="alternate" hreflang="x-default" href="' . htmlspecialchars($loc, ENT_XML1 | ENT_COMPAT, 'UTF-8') . "\"/>\n";
    echo "    <changefreq>daily</changefreq>\n";
    echo "    <priority>0.8</priority>\n";
    echo '    <lastmod>' . $today . "</lastmod>\n";
    echo "  </url>\n";
}

echo '</urlset>';
exit;
