C# 继承了一个具有60000个url重定向的ASP.NET网站应用程序
不是开玩笑。。使用IIS插件UrlRewrite,我们正在运行一个映射配置,该配置将推送8mb。它包含60000条“从->到”规则。配置文件太大了,我们必须调整注册表以适应配置文件的大小 重定向主要包括:C# 继承了一个具有60000个url重定向的ASP.NET网站应用程序,c#,asp.net,redirect,url-redirection,C#,Asp.net,Redirect,Url Redirection,不是开玩笑。。使用IIS插件UrlRewrite,我们正在运行一个映射配置,该配置将推送8mb。它包含60000条“从->到”规则。配置文件太大了,我们必须调整注册表以适应配置文件的大小 重定向主要包括: .html->.aspx在迁移到asp.net期间 已重命名的页面 短期活动重定向回主页 所有重定向都被复制了18次,每个语言文件夹(如/us/、/uk/)都复制一次 我们正准备大幅减少重定向的数量,因此这不是我的担忧。我关心的是每周大约有3-4个新的重定向请求。手动将重定向条目添加到配置文件
我想问大家的问题是,管理这样一个大型且不断变化的网站重定向的最佳实践是什么?有没有一种.net技术能够很好地解决这一难题?我将放弃大规模重定向。谈论噩梦。只需在正确的路径上提供您想要的页面 如果您收到一个不存在的页面请求,而不是显示404 Not Found,则让Web服务器通过在数据存储中查找匹配的“新目的地”(这可以通过特殊的ASP页面完成)来处理该请求。您的数据存储将包含新旧映射,如果存在一个匹配项,用户将被重定向。如果不是,则显示真正的404(以及一条亲切的消息给用户以更新他们的链接) 这使您摆脱了编写大规模重写规则的工作,并将旧映射到新映射的管理放入数据库(why by jove,why not!)
希望这有助于产生新的想法……您是否考虑过在ASP.NET网站前提供URL映射服务?URL映射服务可以将规则存储在自己的数据存储中,将它们保存在缓存中,以便在给定URL的情况下快速生成映射URL,并将用户重定向到ASP.NET站点上的映射URL。您可以独立于ASP.NET站点发布URL映射服务,以实现职责分离。这些服务是否建立为301(永久)重定向?如果是这样的话,你是否发现最老的车流量很大?如果没有,则可以安全地删除它们。:)您是否考虑过使用数据库来存储这些重定向规则(并构建一个前端来管理它们)。然后,您只需要几个核心重定向,这些重定向永远不会改变,但会处理传入其中的任何URL。我可能需要一些重定向示例来推荐实际的解决方案。