我为网页开发了动态站点地图,列出了数据库中的所有项目(42000)。
这是视图代码:
<?php echo '<?xml version="1.0" encoding="utf-8" ?>'; ?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<?php foreach($urls as $url){ ?>
<url>
<loc><?php echo $url; ?></loc>
<priority>0.5</priority>
</url>
<?php } ?>
</urlset>
使用浏览器测试时看起来都很好(除了大约15秒的缓慢加载时间)。 但当我使用多个Sitemap验证工具进行测试时: http://www.xml-sitemaps.com/validate-xml-sitemap.html
它说我的页面返回500(内部服务器错误);
实际上在浏览器中有这样的标题(debug,net tab),但是页面加载了什么方式?!
通过进一步测试,数据没有任何问题(db和php加载1s) 并且大约有40,000个项目,即5mb页面大小和100,000行html。
没有找到有关此类限制的任何信息......
我在其他网站上有类似的网站地图,没有这样的问题
它可能是服务器上的东西,或者是框架特有的东西(CakePHP)。
目前通过降低限制并将地图拆分为2个文件来解决问题,但我正在寻找更多信息是什么问题。