Web.config 檔案中 requestFiltering 元素的設定不正確 (SharePoint Server)

 

**適用版本:**SharePoint Foundation 2013, SharePoint Server 2013, SharePoint Server 2016

**上次修改主題的時間:**2017-08-30

**摘要:**了解如何解決 SharePoint Server 2016 和 SharePoint 2013 的 SharePoint Health Analyzer 規則「Web.config 檔案中 requestFiltering 元素的設定不正確」。

**規則名稱:**Web.config 檔案中 requestFiltering 元素的設定不正確。

**摘要:**若要支援包含 + 字元的檔案名稱,Web.config 檔案中的 requestFiltering 元素必須將 allowDoubleEscaping 屬性設為 True,且 requestLimits 元素的 maxAllowedContentLength 值必須設為 2147483647 以避免干擾檔案上傳。

**原因:**Web.config 檔案中 requestFiltering 元素的設定不正確。

解決方案:變更 Internet Information Services (IIS) 中 Web.config 檔案的 requestFiltering 設定。

  1. 確認執行此程序的使用者帳戶為伺服器陣列管理員群組的成員。

  2. 識別發生此事件的伺服器。在SharePoint 管理中心網站的 [監視] 區段中,按一下 [檢閱問題與方案],然後在 [失敗的伺服器] 欄中找出伺服器的名稱。如果伺服器陣列中有多部失敗的伺服器,則必須在每部失敗的伺服器上重複下列步驟。

  3. 確認執行下列步驟的使用者帳戶是您在先前步驟中識別之本機電腦上系統管理員群組的成員。

  4. 登入發生此事件的伺服器。

  5. 伺服器管理員中,按一下 [工具],然後選取 [Internet Information Services (IIS) 管理員]。

  6. 在 Internet Information Services 管理主控台的 [連線] 窗格中,展開伺服器名稱的樹狀檢視、展開 [網站],然後按一下您要變更其 requestFiltering 設定的網站。

  7. 在網站首頁上,切換至 [功能檢視],然後在 [管理] 區段中,按兩下 [設定編輯器]。

  8. 在 [區段] 清單中,展開 system.webServer、展開 [安全性],然後按一下 requestFiltering。

  9. 在 [設定編輯器] 頁面上,確定下列屬性或元素已存在且已正確設定:

    • allowDoubleEscaping 屬性設為 True。

    • requestLimits 元素已存在。

    • requestLimits 元素具有 maxAllowedContentLength 屬性且其值設為 2147483647。

    如需詳細資訊,請參閱<maml:externalLink><maml:linkText>作法:以程式設計方式新增和移除 Web.config 設定</maml:linkText>https://go.microsoft.com/fwlink/p/?LinkId=227014<maml:linkUri>https://go.microsoft.com/fwlink/p/?LinkID=227014</maml:linkUri></maml:externalLink>.

  10. 完成這些設定的變更之後,請在 [動作] 窗格中,按一下 [套用]。