| 以下はコードフラグメントです。 <%@言語= "vbscript" codepage = "65001"%> <% Response.Charset = "UTF-8" server.scripttimeout = 50000 'Sitemap_gen.asp 'Google SiteMap Protocol(GSP)で、Webサーバー用の自動制作サイトマップへのシンプルなスクリップ 'フランチェスコ・パサンティーノ 'www.iteam5.net/francesco/sitemap 'V0.2は2005年6月5日にリリースされました session( "server")= "http://7thpark.com/" '"ドメイン名 vdir = "/" 'sitemapディレクトリ、相対ディレクトリ(ルートディレクトリに対する) set objfso = createObject( "scripting.filesystemObject") root = server.mappath(vdir) 'Response.ContentType = "text/xml" 'Response.Write "<?xmlバージョン=' 1.0 'エンコード=' utf-8 '?>" 'Response.Write "<urlset xmlns =' http://www.google.com/schemas/sitemap/0.84 '>" str = "<?xmlバージョン= '1.0'エンコード= 'utf-8'?>"&vbcrlf ' str = str& "<urlset xmlns = 'http://www.google.com/schemas/sitemap/0.84'>"&vbcrlfff objfolder = objfso.getFolder(root)を設定します 'Response.Write getFileLink(objfolder.path、objfolder.datelastModify) colors = objfolder.filesをセットします colfilesの各objfileについて 'Response.Write getFileLink(objfile.path、objfile.datelastModify) str = str&getfilelink(objfile.path、objfile.datelastmodify)&vbcrlf 次 shossubfolders(objfolder) 'Response.Write "</urlset>" " str = str& "</urlset>"&vbcrlf FSO =何も設定しません objstream = server.createObject( "adodb.stream")を設定します objstreamで '.type = adtypetext '.mode = admodereadwrite .open .charset = "utf-8" .position = objstream.size .writeText = str .savetofile server.mappath( "/sitmap.xml")、2 'generated xmlファイル名 。近い で終わります objstream = Nothingを設定します 誤りでない場合 Response.write(<script> alert( '成功した生成サイトマップ!'); history.back(); </script> ") Response.End ifを終了します サブショーサブフォルダー(objfolder) colorders = objfolder.subfoldersを設定します コルフォルダーの各objsubfolderについて FolderPermission(objsubfolder.path)の場合 'Response.Write getFileLink(objsubfolder.path、objsubfolder.datelastModify) str = str&getfilelink(objsubfolder.path、objsubfolder.datelastmodify)&vbcrlf colors = objsubfolder.filesをセットします colfilesの各objfileについて 'Response.Write getFileLink(objfile.path、objfile.datelastModify) str = str&getfilelink(objfile.path、objfile.datelastmodify)&vbcrlf 次 shossubfolders(objsubfolder) ifを終了します 次 End Sub function getFileLink(file、dataFile) ファイル=交換(file、root、 "") file = lepplec(file、 "/"、 "/") filextensionisBad(file)の場合、機能を終了します if month(datafile)<10d filedatem = "0" day(datafile)<10 thitn fileded = "0" filedate = year(datafile)& " - "&filedatem&month(datafile)& " - "&filedated&day(datafile) getFileLink = "<url> <loc>"&server.htmlencode(session( "server")&vdir&file)& "</loc> <lastmod>"& "</lastmod> <changefreq> daily </ </changefreq> <priority> 1.0 </priority> </url> "" Response.Flush エンド関数 function folderpermission(pathname) 'フィルタリングする必要があるディレクトリ(SiteMapにリストされていません) pathexclusion = aray( "/temp"、 "/_ vti_cnf"、 "_ vti_pvt"、 "_ vti_log"、 "cgi-bin"、 "/admin"、 "/edu") FolderPermission = true pathexclusionでpathexclusedごとに If strust(ucase(pathname)、ucase(pathexcluded))> 0 thenの場合 folderPermission = false の出口 ifを終了します 次 エンド関数 関数fileextensionisbad(sfilename) dim sfileextension、bfileextensionisvalid、sfileext 'ファイル拡張子を変更する(http://www.googleguide.com/file_type.html) 拡張子= array( "png"、 "gif"、 "jpg"、 "jpeg"、 "zip"、 "pdf"、 "ps"、 "html"、 "htm"、 "php"、 "wk1"、 "wk2 wk2 ""、 "wk3"、 "wk4"、 "wk5"、 "wki"、 "wks"、 "wku"、 "lwp"、 "mw"、 "xls"、 "ppt"、 "doc"、 "swf "、" wks "、" wps "、" wdb "、" wri "、" rtf "、" ans "、" txt ") '拡張機能がその中にない場合、リストのファイル名を設定します。SiteMapには拡張名のファイルが含まれません
|