【发布时间】:2010-11-17 10:20:34
【问题描述】:
我有一个 ASP.NET 3.5 应用程序,它从 1.1 开始,已经从 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 不是有效的商家(应该如此)。
在我走上编码之路解决这个问题之前,有人知道我错过了一个神奇的开关吗?
【问题讨论】:
-
是的,我们有同样的问题,我们已经解决了。您需要显示您的 web.config 代码/设置以指出问题
-
让你在urlrewriting.net/149/en/home.html的帮助下实现URL重写
标签: asp.net iis-7 url-rewriting redirect