PageAdmin Cms自助建站系统生成百度SiteMap文件的方法-阿里云开发者社区

开发者社区> 郭生生> 正文

PageAdmin Cms自助建站系统生成百度SiteMap文件的方法

简介: PageAdmin作为一款优秀的建站系统,国内拥有不少的用户,之前在论坛里看到很多用户生成百度SiteMap文件都是通过安装插件来实现,但实际上通过系统自带的自定义路由功能一样可以实现siteMap文件生成,下面说一下步骤。
+关注继续查看

PageAdmin作为一款优秀的建站系统,国内拥有不少的用户,之前在论坛里看到很多用户生成百度SiteMap文件都是通过安装插件来实现,但实际上通过系统自带的自定义路由功能一样可以实现siteMap文件生成,下面说一下步骤。

1、首先添加一个自定义页面配置,如何添加自定义路由,请参考我之前的文章,或者到官方帮助中搜索:自定义页面,可以找到自定义路由的使用方法,下面是我添加的一个配置。

<route urlConstraint="^buildSiteMap.cshtml$" viewPath="siteMap/siteMap.cshtml" httpcacheSolutionId="0" title=""></route>

以上配置仅供参考,大家可以根据自己需要来写。
2、在模板目录的Views目录下新一个siteMap/siteMap.cshtml文件,文件内容如下:

@{
 Layout = null;
 string table = Request.QueryString["table"];
 string domain = "http://localhost:800/buildSiteMap.cshtml";//localhost:800改为您的网站域名,必须是外网域名
 
 //生成栏目siteMap
 if (table=="column")
 {
 <?xml version="1.0" encoding="utf-8" ?>
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:mobile="http://www.baidu.com/schemas/sitemap-mobile/1/">
 @foreach (var item in Html.GetColumnList().Where(c => c.Show == 1 && c.ColumnType <= 2))
 {
 string url = Html.ColumnUrl((int)(item.Id));
 <url>
 <mobile:mobile type="pc,mobile" />
 <loc>@url</loc>
 <lastmod>@DateTime.Now.ToString("yyyy-MM-dd")</lastmod>
 <changefreq>weekly</changefreq>
 <priority>0.8</priority>
 </url>
 }
 </urlset>
 }
 //生成信息表的siteMap
 else if (!string.IsNullOrEmpty(table))
 {
 <?xml version="1.0" encoding="utf-8" ?>
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 @foreach (var item in Html.InfoDataList(new { Table = table, ShowNumber = 1500 }))
 {
 <url>
 <mobile:mobile type="pc,mobile" />
 <loc>http://www.pageadmin.net/jianzhan/@(item.Id).cshtml</loc>
 <lastmod>@item.Thedate.ToString("yyyy-MM-dd")</lastmod>
 <changefreq>weekly</changefreq>
 <priority>0.5</priority>
 </url>
 }
 </urlset>
 }
 else
 {
 HttpRequestHelper httpRequestHelper = new HttpRequestHelper();
 //生成栏目siteMap文件
 IOHelper.CreateFile("/columnSiteMap.xml", httpRequestHelper.Get(domain+"?table=column").Trim(), true);
 //生成product表的siteMap文件,必须保证news信息表实际存在
 IOHelper.CreateFile("/productSiteMap.xml", httpRequestHelper.Get(domain+"?table=product").Trim(), true);
 //生成news表的siteMap文件,必须保证news信息表实际存在
 IOHelper.CreateFile("/newsSiteMap.xml", httpRequestHelper.Get(domain+"?table=news").Trim(), true);
 //更多信息表可以自行添加IOHelper.CreateFile方法,table参数改为信息表名即可
 Response.Write("sitemap文件生成成功!");
 }
}

3、最后直接在浏览器中输入:您的域名/buildSiteMap.cshtml 就会自动生成对应siteMap.xml文件,生成后在百度官方的站长工具提交即可。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
写一个通用的代码生成器
       代码生成器对于JAVA码农来说并不陌生。在一些业务性比较强,但编码比较规范的项目中,往往会有大量的重复或者类似的代码要写。比如对表的增删改查,比如生成用于远程调用的客户端方法存根等等。面对这种情况,程序员通常的做法就是拿一个现成模块的代码copy过来再改改。
2919 0
MyBatis Generator (MBG) 代码生成器简介
MyBatis Generator(MBG)是MyBatis MyBatis和iBATIS的代码生成器。它将生成所有版本的MyBatis的代码,以及版本2.2.0之后的iBATIS版本。它将内省数据库表(或许多表),并将生成可用于访问表的工件。
1335 0
PageAdmin Cms建站系统如何修改后台登录目录
pageadmin修改后台登录目录的解决办法
281 0
代码生成框架Velocity
代码生成框架VelocityVelocity是一个基于Java的模板引擎,用户可以使用模板语言VTL来引用由Java代码定义的对象。
1021 0
网站建设教程:PageAdmin网站系统标签功能的实现
司之前老网站采用的织梦网站系统,由于最近被黑客攻击导致挂马,并且官方停止了更新,领导要求新的网站采用pageadmin网站系统重新改版,小编在学习和使用中学到了有很多实用的技巧,其中标签这块制作很多做seo优化的朋友都会用到。
1402 0
SSM框架——使用 MyBatis Generator 生成代码,包括:Model、Dao、Mapping
基于 SSM 框架开发,Mybatis 属于半自动 ORM,如果每个数据表相关的 Model、Dao、Mapping 都要自己动手去写,是不是很麻烦呢?工作量最大的就是书写Mapping的映射文件,而且手动书写很容易出错。
1156 0
+关注
58
文章
24
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载