Microsoft MVP성태의 닷넷 이야기
[질문] HTTP 모듈/핸들러 또는 RewriteURL 관련입니다. [링크 복사], [링크+제목 복사],
조회: 11263
글쓴 사람
정준명 (twiny at naver.com)
홈페이지
첨부 파일
 

안녕하세요? 올만에 인사드림과 동시에 질문도 드립니다.

기획에서 난해한 요구사항이 들어와서 여기저기 알아보는 중입니다.

네이버 블로그에 구현이 된걸 만들어야하는데, 가령 http://blog.naver.com/cosphoto/140016565682 라는 URL을 타이핑하고 들어가면
주소창에 주소가 안바뀌고 바로 그 글의 컨텐츠가 뜹니다.

저도 http://route.wholsee.com/twiny/3213213213 라는 URL을 사용자가 치고 들어오면 이 URL을 유지하면서 페이지를 뿌려야하는거죠.

예전에는 404 에러 리디렉션으로 속 편하게 구현했는데 이 경우 주소창 URL이 바껴버리죠.

자료를 뒤져본 결과

1. System.Web.HttpContext 클래스의 RewritePath()를 이용하면 주소창 URL을 안바꾸고 다른 페이지로 이동가능하다.
2. HTTP Handler를 이용하면 커스텀 페이지 처리가 가능하지만 확장자 매핑이 필요하므로 사용 불가
3. HTTP Module를 이용하면 페이지 처리 중간에 끼워넣을 수는 있는데, 폴더와 파일이 만들어져있어야해서 사용 불가

정도로 요약이 되네요. 3번은 왠지 미심쩍어서 다시 한번 테스트 해보려고 하는 중입니다.
- 즉 /UserID/NNNNNNNN 형식을 만족하는 RawURL에 대해 RewritePath()를 처리하면 404 에러페이지로 안가고 중간에 가로채는게 가능하지
않을까하는거죠.

혹시 이와 비슷한 요구사항을 처리해보신 경험이 있으면 조언 부탁드립니다. 그럼








[최초 등록일: ]
[최종 수정일: 8/30/2005]


비밀번호

댓글 작성자
 



2005-08-30 04시40분
[정준명] 음... 3번은 404로 바로 빠져버려서 모듈 자체까지 오지도 못하네요.
[guest]
2005-08-31 09시06분
[정준명] 확장자 없이 숫자로만 해달라는 요구사항때문에 다 포기하고 404에러 처리페이지에서 /userid/XXXXXXXXX 패턴의 URL일 경우 체크해서 Server.Transfer로 이동시키는 방법으로 해결 했습니다.

이 경우 주소창 주소는 바뀌지 않으니까 일단 성공은 성공인데 왠지 아쉽네요. ^^;
[guest]
2005-09-01 08시57분
ISAPI Filter를 만드셔야 합니다.
아래의 토픽이 해답이 되실 겁니다. ^^

http://www.codeproject.com/isapi/isapiredirector.asp
techsharer
2005-09-01 11시00분
[정준명] VB쓰다가 닷넷쓰면서 제약이 많이 없어졌는데 여전히 VC++을 못하니 답답한 일이 생기네요. ^^ 진작 좀 배워둘걸...
[guest]

1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5912guest4/25/202316780[참고 - 초보용] Sqlite 디비는 double이 없고 Real이 대신합니다 [3]
5911guest4/24/202311526Form1.cs와 외부 class.cs와 통신 (static async method포함) [4]파일 다운로드1
5910guest4/24/202310998Async 메서드와 try~catch [1]
5909guest4/22/202312007Visual Studio 구매 시(1인 개발자) [4]
5908guest4/22/202311684텅빈 원그리기 [5]
5907민성4/21/202311180안녕하세요 서버 백업 문제에 대해서 [2]
5906guest4/21/202311554Dispatcher 서비스 구현 질문 [1]
5905guest4/20/202312555tabControl의 tabPage가 여러 개일 때 순서를 바꾸기가 까다롭네요 [5]
5904guest4/18/202312484[신규자료첨부] DLL 'SQLite.Interop.dll'을 찾을 수 없습니다 [4]파일 다운로드1
5903guest4/18/202311231fileSystemWatcher 이벤트 관련 질문입니다 [2]
5902guest4/17/202312326c#으로 USB 관련 질문 [2]
5901guest4/17/202310635내솔루션 판매 시 1.0.0.0 폴더와 Sqlite 배포 [5]
5900guest4/17/202312700DLL 'SQLite.Interop.dll'을 찾을 수 없습니다 [2]파일 다운로드1
5899guest4/17/202311364Dictionary와 Linq [4]
5898차가워4/17/202311366CNTK 교육 문의 [1]
5897guest4/17/202311114Socket스레드와 UI thread [4]
5896HAN4/16/202310990c언어 return 에 대해 궁금한게 있어요. [1]파일 다운로드1
5895guest4/15/202311305Drag and Drop - 모든 컨트롤 [2]
5894송부장4/14/202312843[질문] Visual Studio 2022에서 '도구 상자 항목 선택'의 'COM 구성 요소' 탭에서 ActiveX 목록이 보이지 않습니다. [3]파일 다운로드2
5893감사합니...4/14/202310917오라클 OLEDB방식 접속 후 SELECT 'TEST' TEST_VALUE FROM DUAL의 값이 이상합니다. [1]
5892한무4/14/202310859C# 으로 백그라운드에서 워드를 실행하여 매크로 실행이 가능 할까요? [2]
5891리세4/14/202311663안녕하세요.C# 서버프로그램에서의 Mysql 쿼리문제(다중쿼리 실행)에 대해 문의드립니다. [2]
5890guest4/14/202312582C# 프리랜서로 돈 벌려면 성태님 책 마스터하면 되나요? [6]
5889전예찬4/14/202310903C# 파일 복사 관련 질문 드립니다. [3]
5888정경구4/12/202311011C# 첫 환경 세팅과 관련해서 [4]
5887HAN4/12/202311101안녕하세요 파이썬도 공유 가능 할까요? [1]
1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...