http://www.mungchung.com/xe/protip/3171
아는 사람은 알겠지만 윈도우 2000까지만해도 가상디렉토리사용해서 url뒤엔 꼭 슬래쉬(/)가 붙었다.(닷넷이 나오면서 웹어플리케이션이란 개념
등장으로 서블릿처럼 url뒤에 슬래쉬 안붙게 할수도 있게 되었음)
예를 들면 http://www.mungchung.com/mypage 라고 접속하면 자동으로 다시 서버에서 http://www.mungchung.com/mypage/ 리다이렉트 시켰다. 이런 것을 http://www.mungchung.com/mypage 처럼 보여주는 팁이다.
이것 말고도 유용하게 사용할수 있는것이 아래 소스처럼 커뮤니티를 생성했을때 http://www.mungchung.com/커뮤니티도메인 이런식으로 url처도 접근할수 있도록 할 수 있다.
아래 소스보면 404에러페이지를 조금 변형한 트릭인데 나중에 까먹을듯 싶어서 적어둔다...
원래는 커뮤니티 생성할대마다 가상디렉토리 사용하려 했으나 웹에서 ADSI 사용권한 문제로 OTL .. -_-;;;
<!--#include virtual="인클루드파일"-->
<%
'=============================================================================
'
' 404 에러 페이지
' note. 커뮤니티를 url로 손쉽게 접근하기 위해서 404트릭 이용
' url을 검사해서 TB_COMM.comm_domain 에 있는 도메인이라면
' http://www.xxxaa.kr/도메인 으로 바로이동하도록 처리
'
' 환경설정 : 1. iis에서 웹사이트 선택후 등록정보
' 2. 사용자정의 오류탭에서 404에러 선택
' 3. 형식을 URL로바꾸고 URL은 이파일 경로를 적는다.
' 4. 원래 404파일 경로 C:WINNThelpiisHelpcommon404b.htm
'
'
' 작성자 : 손민창 2005-02-25 2:40오후
'=============================================================================
dim strQueryString ' 쿼리스트링
dim errorURL ' 에러 url
dim errorNum ' 에러번호
dim url_comm_domain ' URL에서 커뮤니티 도메인을 얻어온다.
dim strServerURL ' 서버 URL
dim strServerPort ' 서버 Port
dim strSql
dim db_comm_idx
dim db_comm_name
strQueryString = Request.ServerVariables("QUERY_STRING")
strServerURL = "http://"&Request.ServerVariables("SERVER_NAME")&"/"
strServerPort = Request.ServerVariables("SERVER_PORT")
errorNum = (Split(strQueryString,";"))(0)
errorURL = (Split(strQueryString,";"))(1)
' 404에러이면서 뒤의 url이 "/"로 끝나지 않을경우 아래 구문 실행
if errorNum = "404" and right(errorURL,1) <> "/" then
url_comm_domain = replace(errorURL,strServerURL,"")
strSql = "select comm_idx, comm_name from TB_COMM where comm_domain='"&url_comm_domain&"'"
Set rs = x.Execute(strSql)
if not rs.eof then
db_comm_idx = rs(0)
db_comm_name= rs(1)
Call CommunityFramePage(db_comm_idx, db_comm_name)
end if
rsClose(rs)
end if
Call ErrorPage_404(errorURL)
'=======================================================
' 함수/프로시저 모음
'=======================================================
'---------------------------------------------------
' 커뮤니티 화면을 보여주는 함수
'---------------------------------------------------
Sub CommunityFramePage(comm_idx, comm_name)
dim outStr
outStr = outStr & "<html>" & vbCrLf
outStr = outStr & "<head>" & vbCrLf
outStr = outStr & "<title>[커뮤니티] " & comm_name & "</title>" & vbCrLf
outStr = outStr & "</head>" & vbCrLf
outStr = outStr & "<frameset rows=""0,*"" border=0>" & vbCrLf
outStr = outStr & " <frame src=""about:blank"" name=blank marginwidth=0 marginheight=0 leftmargin=0 topmargin=0 noresize>" & vbCrLf
outStr = outStr & " <frame src=""/community/default.asp?comm_idx="&comm_idx&""" name=body scrolling=auto marginwidth=0 marginheight=0 leftmargin=0 topmargin=0>" & vbCrLf
outStr = outStr & "</frameset>" & vbCrLf
outStr = outStr & "</html>" & vbCrLf
Response.Write outStr
Response.End
End Sub
'---------------------------------------------------
' 404 에러페이지 보여주는 함수
'---------------------------------------------------
Sub ErrorPage_404(errorURL)
Response.Write errorURL & " 파일을 찾을 수 없습니다"
End Sub
%>
예를 들면 http://www.mungchung.com/mypage 라고 접속하면 자동으로 다시 서버에서 http://www.mungchung.com/mypage/ 리다이렉트 시켰다. 이런 것을 http://www.mungchung.com/mypage 처럼 보여주는 팁이다.
이것 말고도 유용하게 사용할수 있는것이 아래 소스처럼 커뮤니티를 생성했을때 http://www.mungchung.com/커뮤니티도메인 이런식으로 url처도 접근할수 있도록 할 수 있다.
아래 소스보면 404에러페이지를 조금 변형한 트릭인데 나중에 까먹을듯 싶어서 적어둔다...
원래는 커뮤니티 생성할대마다 가상디렉토리 사용하려 했으나 웹에서 ADSI 사용권한 문제로 OTL .. -_-;;;
<!--#include virtual="인클루드파일"-->
<%
'=============================================================================
'
' 404 에러 페이지
' note. 커뮤니티를 url로 손쉽게 접근하기 위해서 404트릭 이용
' url을 검사해서 TB_COMM.comm_domain 에 있는 도메인이라면
' http://www.xxxaa.kr/도메인 으로 바로이동하도록 처리
'
' 환경설정 : 1. iis에서 웹사이트 선택후 등록정보
' 2. 사용자정의 오류탭에서 404에러 선택
' 3. 형식을 URL로바꾸고 URL은 이파일 경로를 적는다.
' 4. 원래 404파일 경로 C:WINNThelpiisHelpcommon404b.htm
'
'
' 작성자 : 손민창 2005-02-25 2:40오후
'=============================================================================
dim strQueryString ' 쿼리스트링
dim errorURL ' 에러 url
dim errorNum ' 에러번호
dim url_comm_domain ' URL에서 커뮤니티 도메인을 얻어온다.
dim strServerURL ' 서버 URL
dim strServerPort ' 서버 Port
dim strSql
dim db_comm_idx
dim db_comm_name
strQueryString = Request.ServerVariables("QUERY_STRING")
strServerURL = "http://"&Request.ServerVariables("SERVER_NAME")&"/"
strServerPort = Request.ServerVariables("SERVER_PORT")
errorNum = (Split(strQueryString,";"))(0)
errorURL = (Split(strQueryString,";"))(1)
' 404에러이면서 뒤의 url이 "/"로 끝나지 않을경우 아래 구문 실행
if errorNum = "404" and right(errorURL,1) <> "/" then
url_comm_domain = replace(errorURL,strServerURL,"")
strSql = "select comm_idx, comm_name from TB_COMM where comm_domain='"&url_comm_domain&"'"
Set rs = x.Execute(strSql)
if not rs.eof then
db_comm_idx = rs(0)
db_comm_name= rs(1)
Call CommunityFramePage(db_comm_idx, db_comm_name)
end if
rsClose(rs)
end if
Call ErrorPage_404(errorURL)
'=======================================================
' 함수/프로시저 모음
'=======================================================
'---------------------------------------------------
' 커뮤니티 화면을 보여주는 함수
'---------------------------------------------------
Sub CommunityFramePage(comm_idx, comm_name)
dim outStr
outStr = outStr & "<html>" & vbCrLf
outStr = outStr & "<head>" & vbCrLf
outStr = outStr & "<title>[커뮤니티] " & comm_name & "</title>" & vbCrLf
outStr = outStr & "</head>" & vbCrLf
outStr = outStr & "<frameset rows=""0,*"" border=0>" & vbCrLf
outStr = outStr & " <frame src=""about:blank"" name=blank marginwidth=0 marginheight=0 leftmargin=0 topmargin=0 noresize>" & vbCrLf
outStr = outStr & " <frame src=""/community/default.asp?comm_idx="&comm_idx&""" name=body scrolling=auto marginwidth=0 marginheight=0 leftmargin=0 topmargin=0>" & vbCrLf
outStr = outStr & "</frameset>" & vbCrLf
outStr = outStr & "</html>" & vbCrLf
Response.Write outStr
Response.End
End Sub
'---------------------------------------------------
' 404 에러페이지 보여주는 함수
'---------------------------------------------------
Sub ErrorPage_404(errorURL)
Response.Write errorURL & " 파일을 찾을 수 없습니다"
End Sub
%>
'asp' 카테고리의 다른 글
CAPTCHA(completely automated public Turing test to tell computers and humans apart) (0) | 2010.03.03 |
---|---|
ASP 정규식을 이용하여 문자열 패턴 적용하기 (0) | 2010.03.03 |
Response 객체 (0) | 2010.02.24 |
Microsoft CAPICOM (0) | 2010.02.22 |
IsNull과 IsEmpty 의 차이점 비교 (0) | 2010.02.09 |