这组redirect不是静态的。 我们将每天增加和删除redirect十几次。
我们恰好使用了内置了redirectfunction的CMS(DotNetNuke),但每次添加或删除redirect时都必须重新构build各种caching,这在添加或删除redirect时会导致一些痛苦的性能问题。
我已经看过IISredirect。 但是,这些redirect存储在网站的web.config中。 在实时站点操作期间每天修改web.config十次以上redirect感觉不对。 在单个web.config中有这么多的redirect也是错误的。
我怀疑可能有IISredirect的替代存储方法,或者有另一种方法,我不知道。
对于那些有兴趣也许让我相信我们不需要那么多redirect的人,我希望你是对的。 这里有一些细节:
我们有30,000个旧的产品页面,每个页面都有自己的URL。
我们有30,000个新产品url。
我们有一个带查询string参数的新产品页面。 Products.aspx?PRODID = 123456
redirect过程将如下所示:
OldProductURL1.PHP --301--> Products.aspx?ProdID=1 --200--> NewProductURL1.aspx
要么
OldPRoductURL1.PHP --301--> NewProductURL1.aspx
(只要服务器运行Products.aspx?ProdID = 1来提供此页面)
有没有一个很好的方法来实现这一点,这将允许我们添加和删除redirect而不影响现场的性能显着?
你有没有考虑一个自定义404error handling程序在IIS中找不到页面后进行翻译? 然后你可以做数据库查找或任何需要做的翻译。