首页站内杂志技术文摘
文章内容页

懒人必备:帝国CMS的sitemap文件伪静态为xml

  • 作者:雨祺
  • 来源: 原创
  • 发表于2024-01-28 13:16:04
  • 被阅读0
  • 帝国实用小技巧:php方式的sitemap文件伪静态为xml
    php方式的sitemap文件伪静态为xml,懒人必备,一次设置上传就可,不必经常生成sitemap的xml
    具体设置是:
    1、php写成sitemap格式,下面是我的一个例子,最重要的是
    1. header("Cache-Control: no-store, no-cache, must-revalidate"); 
    2. header('Content-type: text/xml'); 
    这两句,应该是设置文件为xml属性,不添加好像搜索引擎不认;
    2、伪静态设置里加上
    1. rewrite ^/sitemap/sitemap_([0-9]+).xml$  /sitemap/sitemap.php?page=$1; 
    2. rewrite ^/sitemap/sitemap.xml$  /sitemap/sitemap.php; 
    最后就开始写sitemap.php这个文件的代码呢,代码如下:
    1. <?php 
    2. header("Cache-Control: no-store, no-cache, must-revalidate"); 
    3. require("../e/class/connect.php"); 
    4. require("../e/class/db_sql.php"); 
    5. require("../e/data/dbcache/class.php"); 
    6. $link=db_connect(); 
    7. $empire=new mysqlquery(); 
    8. $surl="http://www.***.com/"; //改你的域名 
    9. $per_page = 5000;  
    10. $xml='<?xml version="1.0"  encoding="UTF-8" ?>'."\r\n"
    11. if(isset($_GET['page'])){ 
    12.     $xml.='<urlset 
    13.     xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" 
    14.     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    15.     xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/" 
    16.     xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 
    17.     http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">'."\r\n"; 
    18.     if(intval($_GET['page'])==0){ 
    19.         $xml.='<url>'."\r\n"
    20.         $xml.='  <loc>'.$surl.'</loc>'."\r\n"
    21.         $xml.='  <lastmod>'.date('c').'</lastmod>'."\r\n"
    22.         $xml.='  <changefreq>always</changefreq>'."\r\n"
    23.         $xml.='  <priority>1.00</priority>'."\r\n"
    24.         $xml.='</url>'."\r\n"
    25.  
    26.         $queryc="select classid from {$dbtbpre}enewsclass"
    27.         $sqlc=$empire->query($queryc); 
    28.         while($c=$empire->fetch($sqlc)){ 
    29.             $xml.='<url>'."\r\n"
    30.             $xml.='  <loc>'.$surl.'list_'.$c[classid].'.html</loc>'."\r\n";//栏目页链接方式根据自己具体设置 
    31.             $xml.='  <lastmod>'.date('c').'</lastmod>'."\r\n"
    32.             $xml.='  <changefreq>always</changefreq>'."\r\n"
    33.             $xml.='  <priority>0.95</priority>'."\r\n"
    34.             $xml.='</url>'."\r\n"
    35.         } 
    36.     }else
    37.         $start=(intval($_GET['page'])-1)*$per_page; 
    38.         $query="select id,newstime from {$dbtbpre}ecms_news order by newstime desc limit $start,$per_page"
    39.         $sql=$empire->query($query);; 
    40.         while($r=$empire->fetch($sql)){ 
    41.             $xml.='<url>'."\r\n"
    42.             $xml.='  <loc>'.$surl.'detail_'.$r[id].'.html</loc>'."\r\n";//内容页链接方式根据自己具体设置 
    43.             $xml.='  <lastmod>'.date('c',$r['newstime']).'</lastmod>'."\r\n"
    44.             $xml.='  <changefreq>daily</changefreq>'."\r\n"
    45.             $xml.='  <priority>0.80</priority>'."\r\n"
    46.             $xml.='</url>'."\r\n"
    47.         } 
    48.     } 
    49.     $xml.='</urlset>'
    50. }else
    51.     $totalqueryt="select count(*) as total from {$dbtbpre}ecms_news"
    52.     $num=$empire->gettotal($totalqueryt); 
    53.     $allpage = ceil($num/$per_page); 
    54.     $xml.='<sitemapindex>'."\r\n"
    55.     for($i=0;$i<=$allpage;$i++){ 
    56.         $xml.='<sitemap>'."\r\n"
    57.         $xml.='  <loc>'.$surl.'sitemap/sitemap_'.$i.'.xml</loc>'
    58.         $xml.="\r\n".'</sitemap>'."\r\n"
    59.     } 
    60.     $xml.='</sitemapindex>'
    61. header('Content-type: text/xml'); 
    62. ob_clean(); 
    63. echo $xml; 
    64. exit; 
    65. ?> 
    【审核人:站长】

        标题:懒人必备:帝国CMS的sitemap文件伪静态为xml

        本文链接:https://www.meiweny.cn/zazhi/zhongwangjiaocheng/362.html

        赞一下

        深度阅读

        • 您也可以注册成为美文苑的作者,发表您的原创作品、分享您的心情!

        阅读记录

          关注美文苑