Gemäß der vom Wald bereitgestellten Codeänderung wurde der Webmaster in veVB.com getestet, was einfach zu bedienen ist!
ASP -Version, erfordert FSO -Unterstützung des Raums!
Das Folgende ist das Codefragment:
<%
Server.ScriptTimeout = 50000
'Sitemap_Gen.asp
'Ein einfaches Scrip -zu -automatischen Sitemaps für einen Webserver im Google Sitemap -Protokoll (GSP)
'Von Francesco Passantino
'www.iteam5.net/francesco/sitemap
'V0.2 veröffentlicht am 5. Juni 2005 veröffentlicht
''
'BSD 2.0 Lizenz,
'http://www.opensource.org/licenses/bsd-dhense.php
'Sammeln und organisieren: chongqing [email protected]
Sitzung (Server) = http: //192.168.0.111 'Ihr Domänenname
Vdir = / 'Erstellen Sie ein Verzeichnis von Sitemap, Relativverzeichnis (relativ zum Stammverzeichnis)
Setzen Sie OBJFSO = CreateObject (Scripting.FilesSystemObject)
root = server.mappath (vdir)
'Response.contentType = text/xml
'Response.write <?
'Response.write <urlset xmlns =' http://www.google.com/schemas/sitemap/0.84 '>
STR = <?
STR = STR & <urlset xmlns = 'http://www.google.com/schemas/sitemap/0.84'> & vbcrlf
Setzen Sie objfolker = objfso.getFolder (root)
'Response.write getFilelink (Objfol.Path, Objfolker.DatelastModify)
Setzen Sie Farben = Objfolder.files
Für jede objfile in colfiles
'Response.write getFilelink (objFile.Path, objFile.DatelastModify)
STR = STR & getFilelink (objFile.Path, objFile.DatelastModify) & VBCRLF
Nächste
ShowsUbFolders (Objfolker)
'Response.write </urlset>
STR = STR & </urlset> & vbcrf
fso = nichts setzen
Setzen Sie objstream = server.createObject (adodb.stream)
Mit objstream
'.Type = adtyPext
'.Mode = admoderadwrite
.Opeen
.CharSet = utf-8
.Position = objstream.size
.WritETEXT = str
.SavetOFile server.mappath (/sitemap.xml), der von 2 generierte XML -Dateiname.
.Schließen
Enden mit
Objstream einstellen = nichts
Wenn nicht, dann irren
Response.write (<Script> alert ('erfolgreiche Generierung von Site Map!'); History.back (); </script>)
Antwort.end
Ende wenn
SubshowsUbFolders (Objfolker)
Setzen Sie Colorders = Objfolder.SubFolders
Für jeden objsubfolder in wolfoldern
Wenn Ordnermission (objsubfolker.Path) dann dann
'Response.write getFilelink (objsubfolder.Path, Objsubfolker.DatelastModify)
STR = STR & GetFilelink (Objsubfolker.Path, Objsubfolker.DatelastModify) & VBCRLF
Setzen Sie Farben = objsubfolder.files
Für jede objfile in colfiles
'Response.write getFilelink (objFile.Path, objFile.DatelastModify)
STR = STR & getFilelink (objFile.Path, objFile.DatelastModify) & VBCRLF
Nächste
ShowsUbFolders (Objsubfolker)
Ende wenn
Nächste
Ende sub
Funktion getFilelink (Datei, Datendatei)
Datei = Ersetzen (Datei, Stamm,)
Datei = ersetzen (Datei,/,/)
Wenn DateiExtensionisbad (Datei) beenden, beenden Sie die Funktion
Wenn Monat (DataFile) <10d fileedatem = 0
Wenn Tag (Datendatei) <10d eingereicht = 0
Fieleedate = Jahr (DataFile) &-& fehlgeschlagenes & monat (DataFile) &-& FileDated & Day (Dateidatei)
getFilelink = <URL> <COC> & server.htmlencode (Sitzung (Server) & VDIR & Datei) & </local) Q> <priorität> 1.0 </priority> </url "
Antwort.Flush
Endfunktion
Funktionsordnerpervermittlung (Pfadname)
'Das Verzeichnis, das gefiltert werden muss (nicht in Sitemap aufgeführt)
PathExclusion = aray (/temp,/_ vti_cnf, _vti_pvt, _vti_log, cgi-bin,/admin,/edu)
Ordnermission = true
Für jeden in Pathexclusion angeklagten Path -so
Wenn Instrumente (uCase (Pathname), uCase (Pathexcluded))> 0, dann dann
Ordnermission = false
beenden für
Ende wenn
nächste
Endfunktion
FunktionsdateextesionISBad (SFILENAME)
Dim sFileextesion, bFileextesionIsvalid, SFILEEXT
'Für Ihre Dateierweiterung ändern (http://www.googleguide.com/file_type.html)
Erweiterungen = Array (PNG, GIF, JPG, JPEG, ZIP, PDF, PS, HTML, HTM, PHP, WK1, WK2, WK3, WK4, WK5, WKI, WKS, WKU, LWP, MW, XLS, PPT, DOC, Doc, Doc, Doc, Doc, DOC,, DOC, DOC, DOC,, DOC, DOC,, DOC, DOC,, DOC, DOC, DOC, DOC, DOC,, DOC, doc, doc, doc, doc, doc, doc, doc, doc, doc, doc, doc, doc, doc, doc, doc, doc. SWF, WKS, WPS, WDB, WRI, RTF, ANS, TXT)
'Legen Sie den Dateinamen der Liste fest, wenn die Erweiterung nicht dazu gehört, enthält Sitemap die Datei des erweiterten Namens nicht
Wenn Len (Trim (Sfilename)) = 0 dann
FileEXTISIONSBAD = TRUE
Ausgangsfunktion
Ende wenn
SFILEEXTENICAL = Right (Sfilename, Len (sFileName) -instrrev (Sfilename ,.))
BFILEEXTIONISVALID = false 'Angenommen, die Erweiterung ist schlecht
Für jeden SFILEEXT in Erweiterungen
Wenn uCase (sFileexte) = uCase (sFileexteation) dann
BFILEEXTIONISVALID = TRUE
beenden für
Ende wenn
nächste
FileextesionISBad = nicht bFilextentisvalid
Endfunktion
%>