原帖由 炮牛仔 于 2010-11-29 17:18:01 发表 非根录下,改动 $siteurl="http://www.you.com";//修改为您的站点名字; 这里要为空 <loc>$siteurl/sitemap.php?classid=$r[classid]</loc>\r\n"; $siteurl这个直接改成本站绝对地址 |
感谢炮牛仔!
今天在动手修改ecms的时候才发现,上次发布的有个小bug,就是栏目生成选项为动态的时候,sitemap会出现“&”符号,不能通过sitemap的校验,这次修改了下,解决动态sitemap出错的问题; 此sitemap格式是参照Google Webmaster工具制作,通过Google Webmaster校验! 源文件如下,也可在本帖的最后下载附件。
<?php /** * Sitemap. * * @作者:诺亚 * @联系:Noah@live.com */ require("e/class/connect.php"); include("e/class/db_sql.php"); include("e/class/config.php"); include("e/data/dbcache/class.php"); $link=db_connect(); $empire=new mysqlquery(); $siteurl="http://www.you.com";//修改为您的站点名字; $classid = (int)$_GET['classid']; if(empty($classid)) { echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<sitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\r\n"; $sql=$empire->query("SELECT classid FROM {$dbtbpre}enewsclass WHERE islast=1"); while($r=$empire->fetch($sql)) { echo " <sitemap> <loc>$siteurl/sitemap.php?classid=$r[classid]</loc>\r\n"; $csql=$empire->fetch1("SELECT newstime FROM {$dbtbpre}ecms_".$class_r[$r[classid]][tbname]." WHERE classid=$r[classid] ORDER BY newstime DESC LIMIT 1"); echo " <lastmod>".date('Y-m-d',$csql[newstime])."</lastmod> </sitemap>\r\n"; } echo "</sitemapindex>"; } else { echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\r\n"; $sql=$empire->query("SELECT * FROM {$dbtbpre}ecms_".$class_r[$classid][tbname]." WHERE classid=$classid AND checked=1"); while($r=$empire->fetch($sql)) { $titleurl=sys_ReturnBqTitleLink($r); echo " <url> <loc>$siteurl".str_replace("&","&",$titleurl)."</loc> <lastmod>".date('Y-m-d',$r[newstime])."</lastmod> </url>\r\n"; } echo "</urlset>"; } db_close(); $empire=null; ?>
上传以下附件: [下载 *.rar](文件大小:0.81 KB,下载次数:228)
|