0

我正在使用 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 重写模块。

4

1 回答 1

1

针对您的情况的解决方法:将 Index.aspx 创建为默认文档作为物理文件,并将用户重定向到 Default.aspx URL。因此,当用户访问 mysite.com/ 时,index.aspx 将启动并强制重定向到 default.aspx,然后它可以处理您的模板重定向逻辑。

于 2012-07-24T20:05:48.653 回答