重定向设置并不是静态的。我们每天会添加和删除重定向十几次。
我们恰好正在使用具有内置一些重定向功能的 CMS(DotNetNuke),但每次添加或删除重定向时都必须重建各种缓存,这会在添加或删除重定向时导致一些痛苦的性能问题。
我查看了 IIS 重定向。但是,这些重定向存储在站点的 web.config 中。在带有重定向的实时站点操作期间,每天修改 web.config 多达十几次感觉不对劲。在一个 web.config 中有这么多重定向也感觉不对劲。
我怀疑 IIS 重定向可能存在替代的存储方法,或者可能存在另一种我不知道的方法。
对于那些可能想说服我我们不需要那么多重定向的人,我希望你是对的。以下是一些详细信息:
我们有 30,000 个旧产品页面,每个页面都有自己的 URL。
我们有 30,000 个新产品 URL。
我们有 1 个带有查询字符串参数的新产品页面。Products.aspx?ProdId=123456
重定向过程如下:
OldProductURL1.PHP --301--> Products.aspx?ProdID=1 --200--> NewProductURL1.aspx
或者
OldPRoductURL1.PHP --301--> NewProductURL1.aspx
(只要服务器运行 Products.aspx?ProdID=1 即可提供此页面)
是否有一个好的方法可以实现这一点,让我们能够添加和删除重定向而不会显著影响实时网站的性能?
答案1
您是否考虑过在 IIS 中使用自定义 404 错误处理程序来在找不到页面后进行转换?然后您可以进行数据库查找或进行转换所需的任何操作。