继承了一个包含60,000个url重定向的ASP.NET网站应用程序

时间:2014-08-11 23:32:36

标签: c# asp.net redirect url-redirection

不是在开玩笑..使用IIS插件UrlRewrite,我们正在推出一个推送8mb的地图配置。它包含60,000个“from - > to”规则条目。配置太大了,我们必须调整注册表以适应配置文件的大小。

重定向主要包括:

  
      
  1. .html - > .aspx在迁移到asp.net期间
  2.   
  3. 已重命名的网页
  4.   
  5. 短暂的广告系列重定向回主页
  6.   
  7. 并且所有重定向都被复制18次,每个语言文件夹一个,例如/ us / ,/ uk / 等。
  8.   

我们正准备大幅减少重定向的数量,所以这不是我关注的问题。我担心的是每周大约有3-4个新的重定向请求。手动将重定向条目添加到配置文件并传播到生产服务器变得繁琐且耗时。

正在讨论的是,将60,000个重定向视为“遗留重定向”,并将在单独的线程中进行缩减。对于所有未来的重定向,内容编辑器将创建与“From”url模式匹配的文件,其中包含Response.Redirects到“To”地址。

我对这种方法感到震惊,因为我们将会有大量的重定向UrlRewrite以及越来越多的单行重定向文件散布在整个网站中。我预测一场史诗般的灾难。关于它的最糟糕的部分是我想不出更好的解决方案。

我的问题是,管理像这样的大型和不断变化的网站的重定向的最佳做法是什么?是否有一种非常适合这种困境的.net技术?

1 个答案:

答案 0 :(得分:0)

我会放弃大规模的重定向。谈论一场噩梦。只需在正确的路径上提供您想要的页面。

如果您收到一个不存在的页面请求,而不是显示404 Not Found,请让Web服务器通过执行查找数据存储区来匹配“新目标”来处理请求(这可以完成)有一个特殊的ASP页面)。您的数据存储区将包含旧到新的映射,如果存在一个匹配项,则将重定向用户。如果没有,则显示真实的404(以及向用户发送更新其链接的消息)。

这使你无法编写大量重写规则,并将旧到新映射的管理放入,为什么通过jove,数据库为什么不呢! :)

希望这有助于产生新想法......