Iis-7

為單個網站促進 60,000 個“301”和“200”重定向的好方法是什麼?

  • December 17, 2010

重定向集不是靜態的。我們每天將添加和刪除十多次重定向。

我們碰巧使用了內置重定向功能的 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 來提供此頁面)

有沒有一種很好的方法來實現這一點,讓我們可以添加和刪除重定向而不會顯著影響現場網站的性能?

您是否考慮過在 IIS 中使用自定義 404 錯誤處理程序在找不到頁面後進行翻譯?然後,您可以進行數據庫查找或進行翻譯所需的任何事情。

引用自:https://serverfault.com/questions/213868