将我的ASP.NET网站的某些部分迁移/重定向到新版本

时间:2019-07-04 22:07:09

标签: c# asp.net asp.net-mvc redirect iis-7

我目前正在支持由另一个开发人员编写的现有ASP.NET MVC网站。该网站的许多部分都升级到了更现代的框架,我希望在可能的情况下将用户重定向到新网站。但是,在我完成迁移之前,仍有一些页面必须继续在旧站点上使用。

服务器是Windows Server 2008,IIS 7.0,.NET 4.5

比方说旧的网址是:https://www.companysite.com/

新站点位于以下虚拟目录中:https://www.companysite.com/thenewsite/

将用户有选择地重定向到新网站的最佳方法是什么(我在其中建立了这些部分),同时又使旧站点可访问尚未转移到新设计的页面?

例如,我想重定向: https://www.companysite.com/contracts/https://www.companysite.com/thenewsite/contracts/

但是我无法全局重定向所有路径。例如: https://www.companysite.com/shipping/仍无法重定向到新站点,因为我尚未构建/ thenewsite / shipping/。

以下是我的一些想法,但是我可以使用一些指导来确定哪个最好:

  • 向旧站点中的特定页面添加Response.Redirect或html元刷新(很多工作)
  • 使用具有自定义规则的URL重写模块(不确定如何执行此操作)

希望这是有道理的。任何帮助或建议,将不胜感激。

1 个答案:

答案 0 :(得分:1)

对于IIS 7.0,您可能需要使用https://www.iis.net/downloads/microsoft/url-rewrite

还有其他,并且取决于IIS的版本。我曾经使用Helicon Rewrite,因为ISAPI插件位于请求管道的前端,这对于提高性能很重要,您不希望在错误之前将请求发送到Controller,您希望将其捕获到最新的路由。

您使用的哪个URL重写工具的关键是使它们返回正确的HTTP代码。

301重定向是永久重定向。它是可缓存的,并且该URL的所有书签都应更新为指向新URL。 302重定向是临时重定向。 303重定向与302重定向相同,只是现在将后续请求显式更改为GET请求,并且无需确认