看过的朋友可帮忙顶哦,这些代码都是第一次发的,外面很多要不就是很复杂,看不懂,要不就是不能用的,下面的我写时候已经尽量简洁明了
外面很多所谓sitemap生成代码都只生成目录文件地址,没生成动态的,我后来自己写了这个,是支持动态的,例子:
如你是文章网站,文章有2000条,那你修改下对应你的文章数据表,即可生成除了所有目录文件外,还生成你的动态2000条地址,绝对的没话说,生成速度非常快
把下面代码保存为sitemap.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+"<>"
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[要生成的表名]orderbysidasc"//修改你要生成的数据表名
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
%>
sitemap.xml生成完毕,共生成<%=session("count")%>个文件,点击查看<ahref="sitemap.xml">sitemap.xml</a>文件。