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

时间:2014-10-28 22:05:09

标签: asp.net redirect iis-7 httphandler httpmodule

我已经实现了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" />

但我遇到了两个问题:

  1. 如果有一个目录,其中包含默认文档(default.aspx) ForDirectory处理程序打破它。
  2. 如果有任何要求 服务器,没有重定向但不存在的路径 返回错误而不是404:Failed to Execute URL
  3. 非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

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