我正在使用 IIS7.5。我有一个简单的 ASP.NET 网络表单站点,它在 global.asax 中使用基本的 URL 重写,拦截对 .aspx 页面的请求并将它们传递给各种模板页面。
例如,您可以请求http://www.mysite.com/default.aspx。在 global.asax 中,我首先检查它是否作为“真实”页面存在。如果没有,我会去数据存储获取详细信息并重定向到 template.aspx?page=default(或类似的东西)。
这一切都很好。但是,有一个问题。如果我浏览到http://www.mysite.com/default.aspx我会得到我期望的页面。如果我在 web.config 或 IIS 中将默认文档设置为 default.aspx,然后浏览到http://www.mysite.com/我会收到有关不允许浏览目录的错误。
在这种情况下,为什么 IIS 会忽略默认文档?这似乎是因为文件“default.aspx”不存在。如果是这种情况,是否有解决该问题的方法?
编辑
澄清一下,我无法控制 IIS 系统,它位于非常基本的主机上,尽管我可以请求一些更改,所以我不能使用任何 URL 重写模块。