2009-10-14 2 views
4

난 달성하기 위해 노력하고있어 : asp.net 응용 프로그램을 사용하여 .ASP 파일asp.net HttpModule asp.dll 요청을 전달할 수 있습니까?

차단 요청을
다음 다시 쓰기
다음가에 요청을 전달하기 쉬운 뭔가 검색 엔진 URL을 asp.dll은 요청을 처리합니다.

방법 임을 acheive하려고 :

을 내가 그 .ASP 때문에 웹 사이트의 IIS 매핑을 변경

  1. 하여 기존 ASP 응용 프로그램에 대한 작업 intelligencia URL 다시 쓰기를 얻으려고 확장 asp.net 응용 프로그램에 의해 처리됩니다.
  2. intelligencia asp.net url re-writer가 url을 다시 씁니다.
  3. 요청 된 .asp 페이지는 처리를 위해 asp.dll로 전달됩니다. 이 비트는 끝낼 수 있습니까? 어떤 아이디어?

내 제한 :

  • 공유 호스팅 계정이 그래서 서버에 ISAPI 필터를 설치할 수 없습니다.

HTTPModule을 작성하여 수행 할 수있는 것처럼 들릴까요?

대신 301 리디렉션을 고려했지만 Google 순위 문제가 걱정됩니다.

+0

"301 리디렉션"이라고 생각합니다. 여기에 IIS 버전 인 – womp

+0

이 중요합니다. – AnthonyWJones

+0

@AnthonyWJones Windows 2003 Server iis 버전 6 – Rich

답변

2

.NET HttpModule은 파이프 라인이 작동하는 방식 때문에 II6의 Classic ASP로 요청을 전달할 수 없습니다. .NET 모듈이 실행될 때까지는 ASP.NET 처리기에 있으므로 ASP 처리기로 전송할 수 없습니다.

IIS7에는 .NET HttpModule에서 클래식 ASP 처리기에 요청을 다시 작성할 수있는 통합 파이프 라인이 있습니다.

404 상태를 응답에서 지우고 Server.Transfer 또는 Server.Execute 페이지를 수행하는 사용자 지정 404 처리기가있을 수 있습니다. 유일한 것은 쿼리 문자열 매개 변수를 전달할 수 없기 때문에 페이지에서 요청을 구문 분석하고 변수를 직접 가져와야합니다.

나는 Smart404의 수정 된 버전을 사용하여 SEO 친숙한 URL, 이동 된 파일 등을 처리합니다. 그들은 "virtual_aliases"기능을 호출합니다.

+0

감사합니다. 마이크. 내가 가진 설정으로는 작동하지 않는다는 결론에 도달했습니다. IIS 7에서 필자가 필요하다면 그 길을 택할 수 있습니다. – Rich

관련 문제