【发布时间】:2010-01-15 06:44:46
【问题描述】:
好的,我想不通的奇怪问题。希望有人可以。我继承了一个使用过度架构的内容管理系统开发的网站。我现在遇到了内置重定向功能的问题。
这是在运行 ASP.NET 3.5 sp 1 的专用 Windows 2003 服务器上。重定向存储在数据库中,我已确认数据库中存在正确的重定向。最后,文件扩展名 .html 已在 IIS 中映射到 ASP.NET ISAPI。并且创建了一个 HttpHandler 来重定向 .html 请求。服务器上的默认文档依次为:
- default.aspx
- index.aspx
- default.asp
- index.asp
- default.html
- index.html
对于这个例子,我们有两个重定向都指向同一个内容页面。 /example 和 /example.html
当请求/example.html 时,它会正确地在数据库中找到合适的重定向并发挥它的魔力。布埃诺。当请求/example 时,它会给出一个 404 页面。它甚至不是 asp.net 黄色 404 通用错误页面。它是标准的普通 IIS 404 响应,因此 asp.net 似乎没有拦截这些请求。
如果需要任何其他信息,请告诉我,我会尽力提供。提前感谢所有伟大的推荐,我相信我肯定会来自社区。
【问题讨论】:
-
不确定我是否理解。当请求是 /example 时,没有文件扩展名,因此请求不会发送到 ASP.NET,因此您的代码不会运行。该请求仅保留在 IIS 中,当然没有具有该名称的文件,因此您得到 404。或者您是否在问如何让您的代码运行,即使没有文件扩展名?
-
基本上,是的。我知道当以前的开发人员拥有该站点时,这些重定向是有效的。但我不确定他们如何让 IIS 将这些请求路由到 ASP.NET 运行时。