【发布时间】:2022-01-26 00:35:34
【问题描述】:
以下代码为站点地图生成 URL。在 50,000 个 url 之后,以下代码将不会制作新的站点地图(即 sitemap2.xml 或 sitemap3.xml)
header('Content-type: application/xml; charset="ISO-8859-1"', true);
$dataAll1 = scandir('cache-data');
unset($dataAll1[0]);
unset($dataAll1[1]);
unset($dataAll1[2]);
$sitemap = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="'.PROTOCOL.'://www.sitemaps.org/schemas/sitemap/0.9">';
$sitemap .= '<url>
<loc>' . SITE_HOST . '</loc>
<priority>1.0</priority>
</url>';
foreach($dataAll1 as $val){
$data = json_decode(file_get_contents('cache-data/'.$val),1);
if($val=='index.php'){
continue;
}
$sitemap .= '<url>
<loc>'.SITE_HOST . '/blog/' . $data['jk'].'jktk'.$data['tk'] . '-' . $service->slugify($data['title']).'</loc>
<priority>0.9</priority>
<changefreq>daily</changefreq>
</url>';
}
$sitemap.='</urlset>';
echo $sitemap;
需要对上面的代码进行哪些更正,以便在达到 50,000 个 URL 后创建新的站点地图?
【问题讨论】:
-
您必须动态创建站点地图。这样它就可以解决您的问题。你可以做一个柜台。当计数器达到 50k 时,您将创建另一个站点地图文件。您可以将内容推送到该文件中
-
如何在上面的php代码中应用?你能帮忙吗?