discuz制作门户的百度sitemap

  • PHP二次开发
  • 2015-8-7 10:14
  • PHP二次开发网
  • 阅读(3966)
  • 评论(0)
  • 摘要: 思路:因为百度sitemap可以提交xml文件,可以利用discus内置的rss来实现。实现方式如下:首先找到根目录的:portal.php文件打开后,找到这样一段话:php代码:if(empty($_GET) || !in_array($_GET, array('list', 'v ...
    思路:因为百度sitemap可以提交xml文件,可以利用discus内置的rss来实现。

    实现方式如下:

    首先找到根目录的:portal.php文件

    打开后,找到这样一段话:

    [代码]php代码:

    if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block'))) $_GET['mod'] = 'index';

    将其修改为:

    [代码]php代码:

    if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block', 'sitemap'))) $_GET['mod'] = 'index';


    然后进入目录:source/module/portal

    找到文件:portal_rss.php

    重新复制一份出来,命名为:portal_sitemap.php

    打开portal_sitemap.php文件

    找到内容:

    [代码]php代码:

    echo      "<?xml version=\"1.0\" encoding=\"".$charset."\"?>\n".
         "<rss version=\"2.0\">\n".
         "  <channel>\n".
         (count($catarray) > 1 ?
              "    <title>{$_G[setting][bbname]}</title>\n".
              "    <link>{$_G[siteurl]}forum.php</link>\n".
              "    <description>Latest $num articles of all categories</description>\n"
              :
              "    <title>{$_G[setting][bbname]} - $catname</title>\n".
              "    <link>{$_G[siteurl]}portal.php?mod=list&catid=$rsscatid</link>\n".
              "    <description>Latest $num articles of $catname</description>\n"
         ).
         "    <copyright>Copyright(C) {$_G[setting][bbname]}</copyright>\n".
         "    <generator>Discuz! Board by Comsenz Inc.</generator>\n".
         "    <lastBuildDate>".gmdate('r', TIMESTAMP)."</lastBuildDate>\n".
         "    <ttl>$ttl</ttl>\n".
         "    <image>\n".
         "      <url>{$_G[siteurl]}static/image/common/logo_88_31.gif</url>\n".
         "      <title>{$_G[setting][bbname]}</title>\n".
         "      <link>{$_G[siteurl]}</link>\n".
         "    </image>\n";

    将其修改为:

    [代码]php代码:

    echo      "<?xml version=\"1.0\" encoding=\"".$charset."\"?>\n".
         "  <urlset>\n";

    找到内容:

    [代码]php代码:

    echo      "    <item>\n".
                             "      <title>".$article['subject']."</title>\n".
                             "      <link>$_G[siteurl]".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article[aid]) : "portal.php?mod=view&aid=$article[aid]")."</link>\n".
                             "      <description><![CDATA[".dhtmlspecialchars($article['description'])."]]></description>\n".
                             "      <category>".dhtmlspecialchars($article['catname'])."</category>\n".
                             "      <author>".dhtmlspecialchars($article['author'])."</author>\n".
                             ($attachfile ? '<enclosure url="'.$filename.'" length="'.$attachsize.'" type="image/jpeg" />'."\n" : '').
                             "      <pubDate>".gmdate('r', $article['dateline'])."</pubDate>\n".
                             "    </item>\n";

    将其修改为:

    [代码]php代码:

    echo      "    <url>\n".
                             "      <loc>$_G[siteurl]".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article[aid]) : "portal.php?mod=view&aid=$article[aid]")."</loc>\n".
                             "      <lastmod>".date('Y-m-d', $article['dateline'])."</lastmod>\n".
                                            "      <changefreq>daily</changefreq>\n".
                                            "      <priority>1.0</priority>\n".
                             "    </url>\n";

    找到内容:

    [代码]php代码:

    echo      "  </channel>\n".
         "</rss>";

    将其修改为:

    [代码]php代码:

    echo      "  </urlset>\n";


    然后访问地址:http://www.php2.cc/portal.php?mod=sitemap

    即可看到效果,百度sitemap提交这个地址即可。


    注意显示条数,可以修改portal_sitemap.php这里:$num = 20;  程序默认是显示20条,可根据自己的需要更改。



    PHP技术交流QQ群:422137578

    除非注明,文章均为 PHP二次开发 原创,转载请注明本文地址:http://www.php2.cc/article-1853-1.html

    相关阅读

    最新评论

    用户名:  *

    邮 箱:  *

    网 址: 注意加上“http://”哦!