收起左侧

[DZ教程] 如何利用discuz制作门户的百度sitemap的方法

[复制链接]
查看: 1206|回复: 0

288

主题

10万

帖子

15万

积分

用户组

管理员

管理员

帖子
100340
元宝
2048
注册时间2006-8-6
最后登录2019-12-31
QQ
错失你心 发表于 2018-6-10 00:54:22 | 显示全部楼层 |阅读模式

马上注册查阅更多教程,下载海量资源,让你轻松玩做站

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

实现思路:
因为百度sitemap可以提交xml文件,所以我们可以利用discus内置的rss来实现。

实现方法:
1、打开根目录的 portal.php 文件
找到
  1. if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block'))) $_GET['mod'] = 'index';
复制代码

修改为
  1. if(empty($_GET['mod']) || !in_array($_GET['mod'], array('list', 'view', 'comment', 'portalcp', 'topic', 'attachment', 'rss', 'block', 'sitemap'))) $_GET['mod'] = 'index';
复制代码


2、找到 source/module/portal/portal_rss.php 文件并复制一份,命名为 portal_sitemap.php
打开 portal_sitemap.php 文件
找到
  1. echo      "<?xml version="1.0" encoding="".$charset.""?>\n".
  2.      "<rss version="2.0">\n".
  3.      "  <channel>\n".
  4.      (count($catarray) > 1 ?
  5.           "    <title>{$_G[setting][bbname]}</title>\n".
  6.           "    <link>{$_G[siteurl]}forum.php</link>\n".
  7.           "    <description>Latest $num articles of all categories</description>\n"
  8.           :
  9.           "    <title>{$_G[setting][bbname]} - $catname</title>\n".
  10.           "    <link>{$_G[siteurl]}portal.php?mod=list&catid=$rsscatid</link>\n".
  11.           "    <description>Latest $num articles of $catname</description>\n"
  12.      ).
  13.      "    <copyright>Copyright(C) {$_G[setting][bbname]}</copyright>\n".
  14.      "    <generator>Discuz! Board by Comsenz Inc.</generator>\n".
  15.      "    <lastBuildDate>".gmdate('r', TIMESTAMP)."</lastBuildDate>\n".
  16.      "    <ttl>$ttl</ttl>\n".
  17.      "    <image>\n".
  18.      "      <url>{$_G[siteurl]}static/image/common/logo_88_31.gif</url>\n".
  19.      "      <title>{$_G[setting][bbname]}</title>\n".
  20.      "      <link>{$_G[siteurl]}</link>\n".
  21.      "    </image>\n";
复制代码

修改为
  1. echo      "<?xml version="1.0" encoding="".$charset.""?>\n".
  2.      "  <urlset>\n";
复制代码

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

修改为
  1. echo      "    <url>\n".
  2.                          "      <loc>$_G[siteurl]".($rewriteflag ? rewriteoutput('portal_article', 1, '', $article[aid]) : "portal.php?mod=view&aid=$article[aid]")."</loc>\n".
  3.                          "      <lastmod>".date('Y-m-d', $article['dateline'])."</lastmod>\n".
  4.                                         "      <changefreq>daily</changefreq>\n".
  5.                                         "      <priority>1.0</priority>\n".
  6.                          "    </url>\n";
复制代码

找到
  1. echo      "  </channel>\n".
  2.      "</rss>";
复制代码

修改为
echo      "  </urlset>\n";

然后访问地址:http://www.xxx.com/portal.php?mod=sitemap即可看到效果,百度sitemap提交这个地址即可。
注意显示条数,可以修改portal_sitemap.php这里:$num = 20;  程序默认是显示20条,可根据自己的需要更改。
12年Discuz技术维护服务,论坛托管业务,专注Discuz!论坛搬家、数据迁移、论坛升级、技术维护等服务  QQ 569160956
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩课程推荐

centos 7安装宝塔面板怎么挂载硬盘?

主讲:当流科技 服务器学院

惠普服务器360 G8 ilo远程管理口怎么远程安

主讲:当流科技 服务器学院

互联云服务器 centos7怎么挂载硬盘和centos

主讲:当流科技 服务器学院

2019年Discuz!论坛敏感关键词过滤词下载

主讲:ゾ銱ル鎯筜 Discuz!教程

宝塔面板提示"请不要花样作死"怎么回事

主讲:当流科技 服务器学院

【紧急安全更新】宝塔Linux面板 - 7月12日

主讲:当流科技 服务器学院

宝塔面板7.24 运维节免费领取3年宝塔面板插

主讲:当流科技 服务器学院

Windows系统怎么无损扩容数据盘?

主讲:当流科技 服务器学院

商务合作

0551-66191059
569160956#qq.com
点击这里给我发消息
dz论坛/Discuz!论坛新手

关注微信公众号

QQ扫码 加 DZ技术群