当前位置: 首页 > 图文教程 > 网络编程 > ASP > 再来个专门为google量身定做的sitemap生成代码,(可是动态的哦)

ASP
Access 2000 数据库 80 万记录通用快速分页类
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
收藏的ASP常用的函数集
asp分页的一个类
ASP开发网页牢记注意事项
ASP下操作Excel技术总结分析
ASP数据岛操作类
ASP经典分页类
asp论坛在线人数统计研究
ASP调用SQL SERVER存储程序
asp输出bmp
ASP连接数据库的全能代码
ASP面向对象编程探讨及比较
web文件管理器的后续开发
一小偷类!!有兴趣的可以看看
利用ASP实现事务处理的方法
大数量查询分页显示 微软的解决办法
如何把ASP编写成DLL
asp实现树型结构
超级ASP大分页_我的类容我做主

ASP 中的 再来个专门为google量身定做的sitemap生成代码,(可是动态的哦)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 111 ::
收藏到网摘: n/a

看过的朋友可帮忙顶哦,这些代码都是第一次发的,外面很多要不就是很复杂,看不懂,要不就是不能用的,下面的我写时候已经尽量简洁明了
外面很多所谓sitemap生成代码都只生成目录文件地址,没生成动态的,我后来自己写了这个,是支持动态的,例子:
如你是文章网站,文章有2000条,那你修改下对应你的文章数据表,即可生成除了所有目录文件外,还生成你的动态2000条地址,绝对的没话说,生成速度非常快
把下面代码保存为sitemap.asp文件,修改我已注明的几个地方,其他的一概不要修改,好不好用过才知道
复制代码 代码如下:
<!--#include file="conn.asp"-->
<%
session("count")=0
strURL = "http://" & request.servervariables("SERVER_NAME") & _
left(request.servervariables("SCRIPT_NAME"),len(request.servervariables("SCRIPT_NAME"))-len("/sitemap.asp"))
dim foolcat
foolcat = foolcat + "<?xml version=""1.0"" encoding=""UTF-8""?>"
foolcat = foolcat + "<!--Google Site Map File Generated by http://www.xxx.com " & return_RFC822_Date(now,"GMT") & "-->"
foolcat = foolcat + "<urlset xmlns=""http://www.google.com/schemas/sitemap/0.84"">"
foolcat = foolcat + "<url>"
foolcat = foolcat + "<loc>" & strURL & "/</loc> "
foolcat = foolcat + "</url>"
session("count")=session("count")+"1"
set all_fs = Server.CreateObject("Scripting.FileSystemObject")
set all_folder = all_fs.GetFolder(server.MapPath("/"))
set all_files = all_folder.files
for each file in all_files
foolcat = foolcat + "<url>"
foolcat = foolcat + "<loc>" & strURL & "/" & File.Name & "</loc> "
foolcat = foolcat + "</url>"
session("count")=session("count")+"1"
next
dim js,sql
set js = server.CreateObject("ADODB.RecordSet")
sql = "select * from [要生成的表名] order by sid asc" //修改你要生成的数据表名
set js = conn.execute (sql)
do until js.eof
id=""&js("id")&"" //修改为你的id字段
foolcat = foolcat + "<url>"
foolcat = foolcat + "<loc>" & strURL & "/xxx.asp?Id=" & id & "</loc> " //修改为你的文件名称和id
foolcat = foolcat + "</url>"
session("count")=session("count")+"1"
js.movenext
loop
js.close
set js = nothing
foolcat = foolcat + "</urlset>"
foolcat = "" + foolcat + ""
foolcat = "" & foolcat & ""
FolderPath = Server.MapPath("/")
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set fout = fso.CreateTextFile(FolderPath&"\sitemap.xml")
fout.writeLine foolcat
fout.close
set fout = nothing
conn.close
set conn = nothing
Function return_RFC822_Date(byVal myDate, byVal TimeZone)
Dim myDay, myDays, myMonth, myYear
Dim myHours, myMinutes, mySeconds
myDate = CDate(myDate)
myDay = EnWeekDayName(myDate)
myDays = Right("00" & Day(myDate),2)
myMonth = EnMonthName(myDate)
myYear = Year(myDate)
myHours = Right("00" & Hour(myDate),2)
myMinutes = Right("00" & Minute(myDate),2)
mySeconds = Right("00" & Second(myDate),2)
return_RFC822_Date = myDay&", "& _
myDays&" "& _
myMonth&" "& _
myYear&" "& _
myHours&":"& _
myMinutes&":"& _
mySeconds&" "& _
" " & TimeZone
End Function
Function EnWeekDayName(InputDate)
Dim Result
Select Case WeekDay(InputDate,1)
Case 1:Result="Sun"
Case 2:Result="Mon"
Case 3:Result="Tue"
Case 4:Result="Wed"
Case 5:Result="Thu"
Case 6:Result="Fri"
Case 7:Result="Sat"
End Select
EnWeekDayName = Result
End Function
Function EnMonthName(InputDate)
Dim Result
Select Case Month(InputDate)
Case 1:Result="Jan"
Case 2:Result="Feb"
Case 3:Result="Mar"
Case 4:Result="Apr"
Case 5:Result="May"
Case 6:Result="Jun"
Case 7:Result="Jul"
Case 8:Result="Aug"
Case 9:Result="Sep"
Case 10:Result="Oct"
Case 11:Result="Nov"
Case 12:Result="Dec"
End Select
EnMonthName = Result
End Function
%>

sitemap.xml生成完毕,共生成<%=session("count")%>个文件,点击查看<a href="sitemap.xml">sitemap.xml</a>文件。