Forestが提供するコードの変更によると、WebマスターはVEVB.comでテストされています。これは使いやすいです!
ASPバージョンでは、FSOスペースのサポートが必要です!
以下はコードフラグメントです。
<%
server.scripttimeout = 50000
'Sitemap_gen.asp
'Google SiteMap Protocol(GSP)で、Webサーバー用の自動制作サイトマップへのシンプルなスクリップ
'フランチェスコ・パサンティーノ
'www.iteam5.net/francesco/sitemap
'V0.2は2005年6月5日にリリースされました
'
'BSD 2.0ライセンス、
'http://www.opensource.org/licenses/bsd-dhense.php
'収集と整理:Chongqing [email protected]
session(server)= http://192.168.0.111 'ドメイン名
vdir = / 'サイトマップのディレクトリを作成し、相対ディレクトリ(ルートディレクトリに対する)
objfso = createObject(scripting.filesystemObject)を設定します
root = server.mappath(vdir)
'Response.ContentType = text/xml
'Response.Write <?xmlバージョン=' 1.0 'encoding =' utf-8 '?
'Response.Write <urlset xmlns =' http://www.google.com/schemas/sitemap/0.84 '>
str = <?xmlバージョン= '1.0' encoding = 'utf-8'?>&vbcrlf
str = str&<urlset xmlns = 'http://www.google.com/schemas/sitemap/0.84'>&vbcrlf
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>&vbcrf
FSO =何も設定しません
objstream = server.createobject(adodb.stream)を設定します
objstreamで
'.type = adtypetext
'.mode = admodereadwrite
.open
.charset = utf-8
.position = objstream.size
.writeText = str
.savetofile server.mappath(/sitemap.xml)、2 'で生成された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)
ファイル=置き換え(ファイル、ルート、)
ファイル=置き換え(ファイル、/、/)
filextensionisBad(file)の場合、機能を終了します
月(dataFile)<10d filedatem = 0の場合
day(dataFile)<10d Filedated = 0
filedate = year(datafile)& - &&filedatem&month(datafile)& - &&day(datafile)
getFileLink = <url> <loc>&server.htmlencode(session(server)&vdir&file)&</local)q> <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)
拡張機能=配列(PNG、GIF、JPG、JPEG、ZIP、PDF、PS、HTML、HTM、PHP、WK1、WK2、WK3、WK4、WK5、WKI、WKS、WKU、LWP、MW、XLS、PPT、DOC、 SWF、WKS、WPS、WDB、WRI、RTF、ANS、TXT)
'拡張機能がその中にない場合、リストのファイル名を設定します。SiteMapには拡張名のファイルが含まれません
len(trim(sfilename))= 0の場合
fileextensionisisbad = true
出口機能
ifを終了します
sfileextension = right(sfilename、len(sfilename)-instrrev(sfilename、。))
bfileextensionisvalid = false '拡張が悪いと仮定します
拡張機能内の各sfileextについて
ucase(sfileext)= ucase(sfileextation)の場合
bfileextensionisvalid = true
の出口
ifを終了します
次
fileextensionisisbad = bfileextentisvalidではありません
エンド関数
%>