默认文档和HttpHandler提供特定页面

时间:2010-12-28 13:25:50

标签: asp.net iis httphandler default

我遇到以下情况。

我有一个带有ASP.NET应用程序的IIS 7.5。应用程序必须使用IIS经典模式运行。

我有一个HttpHandler服务于所有请求:

  <httpHandlers>
  <add verb="*" path="*.aspx" type=".....HandlerFactory..." />
</httpHandlers>

问题是我无法为非物理文件建立默认文档。我希望默认页面为:Home.aspx(这是一个非物理文件)。

所以当我去的时候:www.mysite.com我收到一个错误:

  

HTTP错误403.14 - 禁止将Web服务器配置为不列出   该目录的内容。

我不想进行REDIRECT。

有没有办法在不创建index.html重定向到Home.aspx的情况下实现这一目标?

提前致谢!

2 个答案:

答案 0 :(得分:0)

一种选择是重写/ to /home.aspx的请求。

这里的旧IIS5 / 6技巧是在文件夹中放置一个空白的默认文档 - 这将超过“文件是否存在”,但是你的http处理程序将启动并接管所以空白文档不会参与。

我会注意到这就是ASP.NET MVC在root中附带Default.aspx的原因。

答案 1 :(得分:0)

如果您创建一个空白的Home.aspx文件并将其设置为默认页面,那么IIS将把它作为您的默认文档进行选择,但它仍将由您的处理程序处理。