好的,我无法弄清楚的奇怪问题。希望有人可以。我继承了一个使用非常过度架构的内容管理系统开发的站点。我现在遇到了内置重定向功能的问题。
这是在运行ASP.NET 3.5 sp 1的专用Windows 2003服务器上。重定向存储在数据库中,我已确认数据库中存在正确的重定向。最后,文件扩展名.html已在IIS中映射到ASP.NET ISAPI。并且创建了一个HttpHandler来重定向.html请求。服务器上的默认文档按顺序为:
对于此示例,我们有两个指向同一内容页面的重定向。 /example
和/example.html
请求/example.html
时,它正确地在数据库中找到相应的重定向并完成其魔力。布埃诺。在请求/example
时,它会提供404页面。它甚至不是asp.net黄色404通用错误页面。它是标准的vanilla IIS 404响应,因此看起来asp.net没有拦截这些请求。
如果要求提供任何其他信息,请告诉我,我会尽力提供。提前感谢所有伟大的推荐,我肯定会来自社区。
答案 0 :(得分:2)
如果不重写CMS,可以将物理文件放在新目录“/ example”中。这将触发ASP.NET拦截请求,并希望加载您的页面。
如果您想真正破解它,您可以将IIS 404页面更改为您的应用程序中的.NET页面,该页面可以处理原始请求并重定向到您真正想要的页面。
答案 1 :(得分:2)
您应该能够映射通配符扩展以通过ASP.Net ISAPI DLL是解决方案。
答案 2 :(得分:0)
是的,这是正确的,因为/ example没有指向任何文件,它指向Web服务器中的目录。检查您的应用中是否存在Default.aspx / default.html或其他任何至少一个。
如果您正在使用ASP.Net MVC for REST,那么请检查您的操作是否已正确编写。