2014-10-28 5 views
1

데이터베이스에서 301 리디렉션을 관리하기 위해 httpmodule을 구현했습니다. 일치하는 항목을 찾기 위해 간단한 (캐시 된) db 찾아보기를 수행하고 발견되면 리디렉션을 수행합니다.iis .html 파일 및 디렉토리에 대한 7 개의 동적 리디렉션

.aspx 파일 및 기타 .Net 관련 확장 프로그램에 이상적입니다.

그러나 경로가 .html 또는 /으로 끝나는 경우 더 힘든 시간을 보내고 있습니다.

<add name="SubDirectory" path="*/*/" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 
    <add name="ForDirectory" path="*/" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 
    <add name="SubHTML" path="*/*.html" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 
    <add name="ForHTML" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" /> 

을하지만 두 가지 문제로 실행했습니다 : 기본 문서와 디렉토리 (Default.aspx를)을 ForDirectory가있는 경우

  1. 다음과 같이 나는 그런 파일 핸들러를 추가 할 수 있습니다 핸들러가 그것을 깨뜨린다.
  2. 경로에서 리디렉션이없고 존재하지 않는 경로가 요청 된 경우 서버는 404 : Failed to Execute URL 대신 오류를 반환합니다.

모든 도움을 주시면 감사하겠습니다.

답변

1

IIS를 기존 모드보다는 통합 모드로 전환하는 것이 솔루션이었습니다. 핸들러도 필요하지 않습니다.

+0

간단하고 쉬운 .. – TheAlbear