从iis6更改iis7虚拟目录重定向

时间:2009-08-06 16:54:26

标签: asp.net iis-7 url-rewriting redirect

我有一个从1.1开始的ASP.NET 3.5应用程序,已经从IIS5移植到IIS6,现在我们要进入IIS7。回到1.1天,我们实现了基于HTTP模块的URL重写功能,这些功能仍然很有效 - 相当复杂的逻辑非常稳定。它允许我们像这样使用URL

www.abc.com/merchant

并指出'abc'代表了一个品牌的产品,'商家'是销售该品牌的众多公司之一。到目前为止一切都很好。

一路上我们有一些商家关闭,其他人合并,等等。为了保留他们的URL,我们有时会使用IIS6的虚拟目录重定向功能将www.abc.com/oldMerchant重定向到www.abc。 com / newMerchant,或完全像其他东西,如www.micorsoft.com - 谁知道。现在大约有十几种。

我试图在IIS7中做同样的事情,我发现很多帖子描述了不同的机制(比如this)。我遇到的最大问题是在IIS7中,虚拟根路径仍然通过我的URL重写逻辑,而它们在IIS6中没有。也就是说,URL重写不是将www.abc.com/oldMerchant重定向到www.abc.com/newMerchant,而是首先查看它并得出结论oldMerchant不是有效的商家(应该如此)。

在我走上编码之路解决这个问题之前,有人知道我错过了一个神奇的开关吗?

2 个答案:

答案 0 :(得分:0)

我的眼睛在脑后滚动。

  

也就是说,不是将www.abc.com/oldMerchant重定向到www.abc.com/newMerchant,而是重写URL会先看到它并得出结论oldMerchant不是有效的商家(应该如此)。

那么,在您的重写逻辑中,您是否可以不为要重定向的网站包含适当的重定向规则? (我假设在IIS7重写模块中可以进行重定向。)

答案 1 :(得分:0)

您是在集成模式还是经典模式下运行IIS7?我希望你在集成模式下运行。这是通过.Net管道发送所有流量的新模式。如果你切换到经典模式,我认为它可能会再次为你工作。