zl程序教程

您现在的位置是:首页 >  其他

当前栏目

为google量身定做的sitemap生成代码asp版

GoogleASP代码 生成 Sitemap
2023-06-13 09:14:08 时间
外面很多所谓sitemap生成代码都只生成目录文件地址,没生成动态的,我后来自己写了这个,是支持动态的,例子:如你是文章网站,文章有2000条,那你修改下对应你的文章数据表,即可生成除了所有目录文件外,还生成你的动态2000条地址,绝对的没话说,生成速度非常快

把下面代码保存为sitemap.asp文件,修改我已注明的几个地方,其他的一概不要修改,好不好用过才知道。
复制代码代码如下:

<!--#includefile="conn.asp"-->
<%
session("count")=0

strURL="http://"&request.servervariables("SERVER_NAME")&_
left(request.servervariables("SCRIPT_NAME"),len(request.servervariables("SCRIPT_NAME"))-len("/sitemap.asp"))

dimfoolcat
foolcat=foolcat+"<?xmlversion=""1.0""encoding=""UTF-8""?>"
foolcat=foolcat+"<!--GoogleSiteMapFileGeneratedbyhttp://www.xxx.com"&return_RFC822_Date(now,"GMT")&"-->"
foolcat=foolcat+"<urlsetxmlns=""http://www.google.com/schemas/sitemap/0.84"">"

foolcat=foolcat+"<url>"
foolcat=foolcat+"<loc>"&strURL&"/</loc>"
foolcat=foolcat+"</url>"

session("count")=session("count")+"1"

setall_fs=Server.CreateObject("Scripting.FileSystemObject")
setall_folder=all_fs.GetFolder(server.MapPath("/"))
setall_files=all_folder.files
foreachfileinall_files

foolcat=foolcat+"<url>"
foolcat=foolcat+"<loc>"&strURL&"/"&File.Name&"</loc>"
foolcat=foolcat+"</url>"

session("count")=session("count")+"1"

next

dimjs,sql
setjs=server.CreateObject("ADODB.RecordSet")
sql="select*from[要生成的表名]orderbyidasc"//修改你要生成的数据表名
setjs=conn.execute(sql)
dountiljs.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
setjs=nothing

foolcat=foolcat+"</urlset>"

foolcat=""+foolcat+""
foolcat=""&foolcat&""
FolderPath=Server.MapPath("/")
Setfso=Server.CreateObject("Scripting.FileSystemObject")
Setfout=fso.CreateTextFile(FolderPath"\sitemap.xml")
fout.writeLinefoolcat
fout.close
setfout=nothing
conn.close
setconn=nothing

Functionreturn_RFC822_Date(byValmyDate,byValTimeZone)
DimmyDay,myDays,myMonth,myYear
DimmyHours,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
EndFunction

FunctionEnWeekDayName(InputDate)
DimResult
SelectCaseWeekDay(InputDate,1)
Case1:Result="Sun"
Case2:Result="Mon"
Case3:Result="Tue"
Case4:Result="Wed"
Case5:Result="Thu"
Case6:Result="Fri"
Case7:Result="Sat"
EndSelect
EnWeekDayName=Result
EndFunction

FunctionEnMonthName(InputDate)
DimResult
SelectCaseMonth(InputDate)
Case1:Result="Jan"
Case2:Result="Feb"
Case3:Result="Mar"
Case4:Result="Apr"
Case5:Result="May"
Case6:Result="Jun"
Case7:Result="Jul"
Case8:Result="Aug"
Case9:Result="Sep"
Case10:Result="Oct"
Case11:Result="Nov"
Case12:Result="Dec"
EndSelect
EnMonthName=Result
EndFunction
%>