联系站长 加入收藏 设为首页 繁體中文 RSS
  首页 | 生活百科 | 电脑网络 | 高手学堂 | 语录名言 | 读书文学 | 极品软件 | 奇趣图片 | 站长微博  
 您的位置: 精品百字节网 >> 高手学堂 >> ASP高手进阶 >> 正文 当前没有通告!
   □  kingcms批量替换Url目录格式思路    3星级
kingcms批量替换Url目录格式思路
[ 作者:明主天下     来源:精品百字节网     点击数:     更新时间:2009-07-13     文章录入:Admin
【字体:
[内容提要]
网站失眠家园网http://www.shimian91.com 采用kingcms 系统,以前没有用过kingcms文章系统,最近看了看用起来还算比较爽手,感谢kingcms以Since 为首的团队的努力,做出这么好的作品,而且代码开源。网站上线后,起初网站的Url目录比较深,我也没太注意,后来一位朋友提醒了我。url路径对优化相当不利,改吧。

网站失眠家园网http://www.shimian91.com 采用kingcms 系统,以前没有用过kingcms文章系统,最近看了看用起来还算比较爽手,感谢kingcms以Since 为首的团队的努力,做出这么好的作品,而且代码开源。网站上线后,起初网站的Url目录比较深,我也没太注意,后来一位朋友提醒了我。url路径对优化相当不利,改吧。
起初的URL目录为:http://www.shimian91.com/shimianzhiliao/2009/07/12/181/index.htm
需要修改成的URL目录为:http://www.shimian91.com/shimianzhiliao/20090712181.htm  

现在要做的就是如何批量快速的把网站中所有的目录URL改过来。
首先排除一个个文章修改,这不是程序员的思维。虽然对程序没有研究过,还是看看代码看有没有什么发现吧。一边看代码一边通过搜索手段也获取到一些信息,如下这篇文章:kingcms文章默认路径的修改一篇文章总结的不错。
打开admin/article/index.asp
搜索:
data(5,0)=1
data(11,0)=art.lang("common/pinyin")
ID 文件格式
   data(11,0)=king.neworder("kingart","artid")&"."&split(king_ext,".")(1)
日期+id 文件格式  
data(11,0)=year(now)&month(now)&day(now)&king.neworder("kingart","artid")&"."&split(king_ext,".")(1) 
小注:这样生成的格式是:200931210.htm,个人感觉2009031210.htm好些,日期前补个0吧 代码改动一下搞定:
data(11,0)=year(now)&king.doublee(month(now))&king.doublee (day(now))&king.neworder("kingart","artid")&"."&split(king_ext,".")(1)
用日期+ID 文件夹方式
data(11,0)=formatdate(now,2)&"/"&king.neworder("kingart","artid")
拼音方式
data(11,0)=art.lang("common/pinyin")

按照(日期+id 文件格式)改了之后,发现新添加文章默认的是日期格式,首先解决了新加文章的路径问题。全部生成目当和文章后发展没有变化。说明改的地方肯定不对,其实这篇文章的思路和现在要处理的问题,并不是一回事儿,只是自己没有看清而已。

后来想到这些Url格式应该存到数据库中了,所有的操作应该调用数据库的内容。打开数据库再打开存放文章的表kingart,果不其实,发现了artpath 字段存放着目录路径。如下图所示。在网站后台中按日期格式新添加一篇文章后,打开数据库发现由原来的2009/06/29/10 变成了 2009062910.htm 。这样问题就简单了,数据库中,artpath 内容都改一下不就OK了。
     

说干就干,批量改动数据库还是小case 一件,代码如下,运行,替换,很流畅,完毕。

以下是代码片段:
<%Server.ScriptTimeOut=500000000%>
<%response.buffer=true%>
<%
Dim objconn,conn
Dim RsTemp,sTContent
Dim t1,t2
const db = "/db/King#Content#Management#System.mdb" ’数据库路径
objconn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mapPath(db)
set conn=server.createobject("adodb.connection")
conn.open objconn
set RsTemp=server.CreateObject("Adodb.recordset")
RsTemp.open "select * from kingart",conn,1,3  ’连接数据库
  
Do while not RsTemp.eof
t1=""
t2=""
sTContent=RsTemp("artpath")
   t2=split(sTContent,"/")
   for i=0 to ubound(t2)
    t1=t1&t2(i)  
   next  
     sTContent=t1
  RsTemp("artpath")=sTContent
  RsTemp.UpDate
  RsTemp.movenext
  response.clear
  response.write "数据更新中......"
Loop
  
RsTemp.Close : Set RsTemp=Nothing
Response.Write "更新成功!"
%>

用法:把上述代码另存一个名字如 r.asp 把这个文件放到网站目录中,注意改动数据库的名字和路径啊,然后在地址栏敲下代码 http://www.shimian91.com 接着敲入r.asp 运行。

数据库替换内容字段替换完毕,上传到空间中,在后台把所有目录和文章重新生成一下,看到这些可受的Url路径的网页在生成,挺高兴。

上一篇文章:网站采集原型 下一篇文章:没有了
发表评论 □告诉好友 □打印此文 □收藏此页 □关闭窗口 □返回顶部
 最新热点文章
 kingcms批量替换Url目录格式思路
 ps中用钢笔画图锚点规律总绍
 Xp系统下如何架设网站站点?
 通过对页面进行压缩提高网站速度方案
 一些js代码,慢慢研究
 EditPlus 代码段实用指南
 职业技能需求分析网站indeed.com
 
 最新推荐文章
 添加删除Windows组件出错的解决方法
 IIS安装配置出现问题的解决办法
 ps中用钢笔画图锚点规律总绍
 Xp系统下如何架设网站站点?
 根据时段网站变换不同风格的代码
 EditPlus 代码段实用指南
 网站采集原型
 
 最新图文
  ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
关于本站 | 免责申明 | 网站地图 | 联系站长 | 友情链接 | 与我同在
冀ICP备06032589号
  Copyright© 2006-2009 100byte.Com All Rights Reserved
网站声明:本网站是公益性质网站,部分内容来源于网络,如有侵犯您权利的地方,请与精品百字节站长联系,尽快修正.
Powered By CreateLive CMS 本站法律顾问:(冀港)武镇海律师
点击这里给我发消息