Asp.net .html文件和目录的iis 7动态重定向

Asp.net .html文件和目录的iis 7动态重定向,asp.net,redirect,iis-7,httphandler,httpmodule,Asp.net,Redirect,Iis 7,Httphandler,Httpmodule,我已经实现了一个httpmodule来管理数据库中的301重定向。它执行一个简单的(缓存的)数据库查找来查找任何匹配的条目,如果找到任何条目,它将执行重定向 它对.aspx文件和其他.Net相关扩展非常有效 但是,对于以.html或/结尾的路径,我遇到了更困难的问题。我可以为此类文件添加处理程序,如下所示: <add name="SubDirectory" path="*/*/" verb="*" modules="IsapiModule" scriptProcessor="%windir

我已经实现了一个
httpmodule
来管理数据库中的301重定向。它执行一个简单的(缓存的)数据库查找来查找任何匹配的条目,如果找到任何条目,它将执行重定向

它对
.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
    处理程序将其破坏
  • 如果对这些有任何要求 没有重定向且不存在的路径,服务器 返回错误,而不是404:
    无法执行URL

  • 任何帮助都将不胜感激。

    将IIS切换到集成模式而不是经典模式是/是解决方案。也不需要处理程序