站点地图静态生成功能

原来的站点地图,因为启用了伪静态,所以直接伪静态指向生成站点地图的PHP文件,HTML地图无所谓,是正常的,而XML地图,则一直不能显示。从代码里查看,是正常的,后来用http状态查询发现,xml的返回状态是

Content-Type: text/xml

而启用伪静态的sitemap.xml返回的状态还是根html的代码返回状态是一样的

Content-Type: text/html; charset=utf-8

尝试了很多办法解决,发现用PHP返回header值也还是不行,必须静态生成,需要在站点静态生成的程序里开启对站点地图的生成功能(原有功能检查网站静态生成方式:动态、真静态、伪静态,只有在真静态的状态才可以生成文件)

$config[‘static‘] != 2 &&
msgbox($language[‘page‘][‘msg‘][0],‘html_make.php‘);

改成

$config[‘static‘] != 2 && $_GET[‘event‘]!= ‘sitemap‘ &&
msgbox($language[‘page‘][‘msg‘][0],‘html_make.php‘);

静态生成的话,即使开启了伪静态,也需要每次更新后手动生成下站点地图

文章来源:站点地图静态生成功能

得出结论,除了HTML等文件,其他类型的文件,如果考虑到蜘蛛抓取什么的原因的话,最好是不要伪静态!!!因为伪静态指向的其实也还是网页!不是说你访问的时候文件后缀改为xml就返回xml类型的数据了!

时间: 2024-12-17 14:01:33

站点地图静态生成功能的相关文章

dt7.0中加入站点地图(sitemap.txt)功能输出

为了百度seo需要,看百度站长平台可以提交sitemap.txt地图,顺便加了这个功能,供广大爱好者学习参考. 首先找到:/module/extend/admin/template/setting.tpl.php 找到: <td><?php echo timetodate(filemtime(DT_ROOT.'/sitemaps.xml'));?>   <a href="?moduleid=<?php echo $moduleid;?>&file

php生成百度站点地图sitemap.xml

<?php header("Content-type:text/html;charset=utf-8"); //php生成百度站点地图sitemap.xml //http://www.baidu.com/search/sitemaptools_help.html include("../config.inc.php"); mysql_connect($CFG['db_host'] ,$CFG['db_user'],$CFG['db_pass']) or die

[.NET领域驱动设计实战系列]专题九:DDD案例:网上书店AOP和站点地图的实现

一.引言 在前面一专题介绍到,要让缓存生效还需要实现对AOP(面向切面编程)的支持.所以本专题将介绍了网上书店案例中AOP的实现.关于AOP的概念,大家可以参考文章:http://www.cnblogs.com/jin-yuan/p/3811077.html.这里我简单介绍下AOP:AOP可以理解为对方法进行截获,这样就可以在方法调用前或调用后插入需要的逻辑.例如可以在方法调用前,加入缓存查找逻辑等.这里缓存查找逻辑就在方法调用前被执行.通过对AOP的支持,每个方法就可以分为3部分了,方法调用前

Mvc中使用MvcSiteMapProvider实现站点地图之基础篇

MvcSiteMapProvider 是针对 ASP.NET MVC 中,提供菜单. 网站地图. 站点地图路径功能,以及更多的工具.它提供配置使用一个可插入的体系结构,可以是 XML. 数据库或动态生成导航结构的能力. 如图: 在MvcSiteMapProvider 中有三种方式来实现站点地图:XML,.NET Attributes,IDynamicNodeProvider. 下面,我们先通过XML方式来实现站点地图. 1.新建Mvc4项目,选择Internet应用程序.然后通过Nuget来安装

[Asp.net]站点地图SiteMap

引言 在项目中发现使用站点地图的控件,之前没总结过这方面的东西,就写了一个demo测试了一下,这里记录一下,算是总结吧. Web.sitemap 1 <?xml version="1.0" encoding="utf-8" ?> 2 <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" > 3 <siteMapNode url=&q

基于 ThinkPHP 3.2.3 的页面静态化功能的实现

PHP 的页面静态化有多种实现方式,比如使用输出缓冲(output buffering),该种方式是把数据缓存在 PHP 的缓冲区(内存)中,下一次取数据时直接从缓冲区中读取数据,从而避免了脚本的编译和访问数据库等过程:另一种方式是直接生成静态的 HTML 文件,使用文件读写函数来实现,一些内容不经常改动的页面可以使用静态页面,访客访问到的页面就是真实的 HTML 页面,一些常见的 CMS 会使用该种方法. 以第二种方法为例,参考 DedeCMS 5.7 的静态化功能,在 ThinkPHP 3.

Asp.Net MVC页面静态化功能实现二:用递归算法来实现

上一篇提到采用IHttpModule来实现当用户访问网站的时候,通过重新定义Response.Filter来实现将返回给客户端的html代码保存,以便用户下一次访问是直接访问静态页面. Asp.Net MVC页面静态化功能实现一:利用IHttpModule,摒弃ResultFilter 后来想到可以通过WebRequest获取html代码,然后采用递归算法来实现.基本实现思路如下: 通过WebRequest获取超链接地址返回的html代码,并保存:通过正则表达式匹配html代码中所有的超链接hr

百度地图静态库的合成

二次用到,第一次是同事合的,第二次才明白,在此标记一下: 百度地图的api静态库有两个,真机的Release-iphoneos和模拟器的Release-iphonesimulator,为了使用起来方便,通常要合并起来,导入自己的工程中. 在终端执行以下方法即可: 进入静态库所在的目录 ls      显示当前所在硬盘的内容 cd     进入到目录中,进入下一级 编辑合成命令,根据lipo命令 lipo -create Release-iphoneos/libbaidumapapi.a ./Re

[转]使用Google地图API搜索功能

使用Google地图API搜索功能 由于工作关系,最近这两天研究了下Google地图API,要实现地图位置搜索功能,显示搜索结果并能在地图上标记下来,刚开始还考虑使用51ditu,出于搜索关键字分词等方面考虑,最后还是决定使用Google地图,一直也都是那么的崇拜谷歌的大神,这次就来体验一翻~ 在Google地图标记定位到一点 刚开始是实现在Google地图上定位一点的功能,API接口里GMap2类有一个setCenter(center:GLatLng, zoom?:Number, type?: