Forest가 제공 한 코드 수정에 따르면 웹 마스터는 VEVB.com에서 테스트되었으며 사용하기 쉽습니다!
ASP 버전은 공간에 대한 FSO 지원이 필요합니다!
다음은 코드 조각입니다.
<%
Server.ScriptTimeout = 50000
'siteemap_gen.asp
'GSP (Google Siteemap Protocol)에서 웹 서버의 자동 생산 사이트 맵에 대한 간단한 스크립
'Francesco Passantino에 의해
'www.iteam5.net/francesco/sitemap
'V0.2는 2005 년 6 월 5 일 출시되었습니다
'
'BSD 2.0 라이센스,
'http://www.opensource.org/licenses/bsd-dhense.php
'수집 및 조직 : chongqing [email protected]
세션 (서버) = http : //192.168.0.111 '도메인 이름
vdir = / 'siteemap 디렉토리, 상대 디렉토리 (루트 디렉토리와 관련하여)
set objfso = createobject (scripting.filesystemobject)
root = server.mappath (vdir)
'응답 .ContentType = 텍스트/XML
'response.write <? xml 버전 ='1.0 'encoding ='utf-8 '?>
'응답 <urlset xmlns ='http://www.google.com/schemas/sitemap/0.84 '>
str = <?? xl version = '1.0'encoding = 'utf-8'?> & vbcrlf
str = str & <urlset xmlns = 'http://www.google.com/schemas/sitemap/0.84'> & vbcrlf
set objfolder = objfso.getfolder (루트)
'응답. getfilelink (objfolder.path, objfolder.datelastmodify)
색상 설정 = objfolder.files
colfiles의 각 objfile에 대해
'응답.
str = str & getfilelink (objfile.path, objfile.datelastmodify) & vbcrlf
다음
showsubfolders (objfolder)
'응답 .write </urlset>
str = str & </urlset> & vbcrf
FSO = 아무것도 설정하지 않습니다
set objstream = server.createobject (adodb.stream)
objstream과 함께
'.type = adtypetext
'. 모드 = AdmodeReadWrite
.opeen
.CharSet = UTF-8
.Position = objstream.size
.WriteText = str
.savetofile server.mappath (/sitemap.xml), 2 '로 생성 된 XML 파일 이름
.닫다
끝납니다
objstream = 아무것도 설정하지 않습니다
그렇지 않은 경우
response.write (<cript> Alert ( '성공적인 생성 사이트 맵!'); history.back (); </script>)
응답. 엔드
끝 If
하위 쇼 서브 폴더 (objfolder)
colorders = objfolder.subfolders를 설정합니다
콜 폴더의 각 objsubfolder에 대해
폴더 퍼미션 (objsubfolder.path) 인 경우
'응답. getfilelink (objsubfolder.path, objsubfolder.datelastmodify)
str = str & getfilelink (objsubfolder.path, objsubfolder.datelastmodify) & vbcrlf
색상 설정 = objsubfolder.files
colfiles의 각 objfile에 대해
'응답.
str = str & getfilelink (objfile.path, objfile.datelastmodify) & vbcrlf
다음
showsubfolders (objsubfolder)
끝 If
다음
종료 서브
함수 getFilelink (파일, DataFile)
file = replace (파일, 루트,)
file = replace (file,/,/)
filextensionisbad (파일) 인 경우 함수를 종료하십시오
Month (DataFile) <10D FileDatem = 0 인 경우
IF DAY (DATAFILE) <10D 제출 = 0입니다
Filedate = Year (DataFile) &-& FileDatem & Month (DataFile) &-& DAY (DataFile)
getFilElink = <URL> <loC> & server.htmlencode (세션 (서버) 및 vdir & 파일) & </local) q> <prierity> 1.0 </priority> </url "
응답. 플러시
엔드 기능
함수 폴더 퍼미 (pathname)
'필터링 해야하는 디렉토리 (Siteemap에 나열되지 않음)
pathExclusion = aray (/temp,/_ vti_cnf, _vti_pvt, _vti_log, cgi-bin,/admin,/edu)
FolderPermission = true
PathExclusion에서 각 pathExexcluded에 대해
instr (ucase (pathname), ucase (pathexcluded))> 0 인 경우
FolderPermission = false
종료
끝 If
다음
엔드 기능
함수 fileExtensionIsbad (sfilename)
희미한 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, WK, WKU, LWP, MW, XLS, PPT, DOC, SWF, WKS, WPS, WDB, WRI, RTF, ANS, TXT)
'목록의 파일 이름을 설정하고 확장자가 그 중 하나가 아닌 경우 Siteemap은 확장 이름의 파일이 포함되지 않습니다.
LEN (trim (sfilename)) = 0 인 경우
fileExtensionIsbad = true
종료 기능
끝 If
sfileextension = right (sfilename, len (sfilename) -instrev (sfilename ,.))
bfileextensionisvalid = false '확장이 나쁘다고 가정합니다
확장의 각 sfileext에 대해
Ucase (sfileext) = ucase (sfileextation) 인 경우
bfileextensionisvalid = true
종료
끝 If
다음
fileExtensionIsbad = bfileextentisvalid가 아닙니다
엔드 기능
%>