我目前正在支持由另一个开发人员编写的现有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/。
以下是我的一些想法,但是我可以使用一些指导来确定哪个最好:
希望这是有道理的。任何帮助或建议,将不胜感激。
答案 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请求,并且无需确认