有什么好方法可以为单个网站提供 60,000 个“301”和“200”重定向?

有什么好方法可以为单个网站提供 60,000 个“301”和“200”重定向?

重定向设置并不是静态的。我们每天会添加和删除重定向十几次。

我们恰好正在使用具有内置一些重定向功能的 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 错误处理程序来在找不到页面后进行转换?然后您可以进行数据库查找或进行转换所需的任何操作。

相关内容