URL 路徑長度限制 (SharePoint Server 2010)

 

適用版本: SharePoint Foundation 2010, SharePoint Server 2010

上次修改主題的時間: 2016-11-30

本文說明規劃網站、導覽方式及結構時,對於 Microsoft SharePoint Server 2010、Internet Explorer 7 及 Internet Explorer 8 應注意的特定 URL 路徑長度及字元限制。本文不討論其他瀏覽器中的 URL 長度限制。如需詳細資訊,請參閱瀏覽器文件。

本文內容:

  • 了解 URL 與路徑長度

  • URL 路徑長度限制

  • 解決 URL 長度問題

了解 URL 與路徑長度

本節討論 URL 的組合、SharePoint Server 2010 建立 URL 的方式、URL 的編碼與加長,以及作為其他 URL 中參數傳遞的方式。

SharePoint URL 的組合

SharePoint URL 的總長度等於資料夾或文件路徑的長度,包括通訊協定與伺服器名稱,以及資料夾或文件名稱,還有作為 URL 的一部分包含在內的任何參數。公式如下:

  • URL = 通訊協定 + 伺服器名稱 + 資料夾或檔案路徑 + 資料夾或檔案名稱 + 參數

例如,下列是儲存在 Microsoft SharePoint Server 2010 中檔案的典型 URL 路徑:

https://www.contoso.com/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx

其中,URL 路徑的各個部分在下表中列出。

URL 部分 範例

通訊協定

http://

伺服器名稱

www.contoso.com/

資料夾或檔案路徑

sites/marketing/documents/Shared%20Documents/Promotion/

檔案名稱

Some%20File.xlsx

當您前往網站並使用 Microsoft Office Web Apps 開啟檔案時,URL 將如下所示:

https://www.contoso.com/sites/marketing/documents/_layouts/xlviewer.aspx?id=/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx&Source=http%3A%2F%2Fwww%2Econtoso%2Ecom%2Fsites%2Fmarketing%2Fdocuments%2FShared%2520Documents%2FForms%2FAllItems%2Easpx%3FRootFolder%3D%252Fsites%252Fmarketing%252Fdocuments%252FShared%2520Documents%252FPromotion%26FolderCTID%3D0x012000F2A09653197F4F4F919923797C42ADEC&DefaultItemOpen=1

其中,URL 路徑的各個部分在下表中列出。

URL 部分 範例

通訊協定

http://

伺服器名稱

www.contoso.com/

資料夾或檔案路徑

sites/marketing/documents/Shared%20Documents/Promotion/

資料夾或檔案名稱

xlviewer.aspx

參數

?id=/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx

&Source=http%3A%2F%2Fwww%2Econtoso%2Ecom%2Fsites%2Fmarketing%2Fdocuments%2FShared%2520Documents%2FForms%2FAllItems%2Easpx %3FRootFolder%3D%252Fsites%252Fmarketing%252Fdocuments%252FShared%2520Documents%252FPromotion%26FolderCTID%3D0x012000F2A09653197F4F4F919923797C42ADEC

&DefaultItemOpen=1

URL 編碼

URL 編碼可確保所有瀏覽器將正確傳輸 URL 字串中的文字。有些瀏覽器可能會截斷或破壞諸如問號 (?)、符號 (&)、斜線符號 (/) 及空格之類的字串。SharePoint Server 2010 遵守網際網路工程工作群組 (IETF) RFC 3986 (可能為英文網頁) (https://go.microsoft.com/fwlink/?linkid=195564&clcid=0x404) 中自訂的 URL 編碼標準。

在本文前面所述的 URL 路徑範例中,Source 參數包含一個雙重編碼路徑且長度為 262 個字元。第一次解碼顯示:

&Source=https://www.contoso.com/sites/marketing/documents/Shared%20Documents/Forms/AllItems.aspx?RootFolder=%2Fsites%2Fmarketing%2Fdocuments%2FShared%20Documents%2FPromotion&FolderCTID=0x012000F2A09653197F4F4F919923797C42ADEC (為 216 個字元)。

再一次解碼顯示:

&Source=https://www.contoso.com/sites/marketing/documents/Shared Documents/Forms/AllItems.aspx?RootFolder=/sites/marketing/documents/Shared Documents/Promotion&FolderCTID=0x012000F2A09653197F4F4F919923797C42ADEC(為 200 個字元)。

如果 SharePoint URL 中包含非標準 ASCII 字串,例如高位元 ASCII 或雙位元組 Unicode 字元,則在將它們傳遞至 Web 瀏覽器時,會將每個字串都 URL 編碼為兩個或多個 ASCII 字串。因此,包含多個高位元 ASCII 字串或雙位元組 Unicode 字元的 URL 可能會比原始未編碼的 URL 長。下列清單提供了增加因素的範例:

  • 高位元 ASCII 字元,例如,(!、"、#、$、%、&、[Space]):增加因素 = 3

  • 雙位元組 Unicode 字元,例如日文、中文、韓文、印度文:增加因素 = 9

例如,將 URL 路徑 https://www.contoso.com/sites/marketing/documents/Shared%20Documents/Promotion/Some%20File.xlsx 中的網站、文件庫、資料夾及檔案名稱轉換為日文時,產生的編碼 URL 路徑將與下列內容類似:

*https://www.contoso.com/sites/%E3%83%9E%E3%83%BC%E3%82%B1%E3%83%86%E3%82%A3%E3%83%B3%E3%82%B0/%E6%96%87%E6%9B%B8/DocLib/%E3%83%97%E3%83%AD%E3%83%A2%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB.xlsx*。此路徑包含 224 個字元,而原始 URL 路徑僅包含 94 個字元。

重要

未編碼的 URL 中不能使用下列字元:(~、#、%、&、*、{}、\、:、<>、/、+、|、「)。

URL 參數

URL 參數是作為要處理 URL 的一部分包含在內的資料。這些參數也會進行 URL 編碼,而且可編碼多次,進而產生非常長的 URL。

例如,如果您瀏覽至清單,則 URL 可能類似如下:*https://www.contoso.com/sites/marketing/documents/Shared%20Documents/Forms/AllItemA.aspx?RootFolder=%2Fsites%2Fmarketing%2Fdocuments%2FShared%20Documents%2FPFPromoti&FolderCTID=0x012000F2A09653197F4F4F919923797C42ADEC&View={CD527605-9A7A-448D-9A35-67A33EF9F766}*。此 URL 包含 260 個字元。

如果您隨後按一下 [文件庫] 索引標籤上的 [建立檢視],則整個 URL 作為來源參數會包含在產生的 URL 中,而且編碼後會長得多,例如,*https://www.contoso.com/sites/marketing/documents/_layouts/ViewType.aspx?List=%7BED6E21E0%2DDF28%2D4165%2DBC3E%2D5371987CC2D2%7D&Source=http%3A%2F%2Fwww%2Econtoso%2Ecom%2Fsites%2Fmarketing%2Fdocuments%2FShared%2520Documents%2FForms%2FAllItems%2Easpx%3FRootFolder%3D%252Fsites%252Fmarketing%252Fdocuments%252FShared%2520Documents%252FPromotion%26FolderCTID%3D0x012000F2A09653197F4F4F919923797C42ADEC%26View%3D%7BCD527605%2D9A7A%2D448D%2D9A35%2D67A33EF9F766%7D*。此 URL 包含 457 個字元。

重要

如果要傳遞至 Internet Explorer 的 URL 總長度超過 1950 個位元組,則 SharePoint Server 2010 會截斷 URL 來源參數。來源參數是對以前存取頁面的參照。截斷來源參數的結果是使用者將傳回預設位置,而不是來源參數中指定的位置。
不會截斷其他參數 (如排序順序、根資料夾參數及檢視)。

URL 路徑長度限制

本節討論 SharePoint Server 2010 和 Internet Explorer 中不同 URL 的長度限制,以及如何規劃 URL 路徑長度。

SharePoint URL 路徑長度限制

本節中的限制適用於 SharePoint Server 2010 中的資料夾或檔案的 URL 路徑總長度,但不適用於任意參數的長度。此外,這些限制僅適用於未編碼的 URL,而不是編碼的 URL。SharePoint Server 2010 中的編碼 URL 沒有限制。這些限制包括:

  • **260 個 Unicode (UTF-16) 程式碼單位:**完整檔案路徑中的字元,不包括網域/伺服器名稱。

  • **256 個 Unicode (UTF-16) 程式碼單位:**完整資料夾路徑中的字串,不包括文件名和網域/伺服器名稱。

  • **128 個 Unicode (UTF-16) 程式碼單位:**路徑元件中的字串,即文件或資料夾名稱。

  • **260 個 Unicode (UTF-16) 程式碼單位:**完整路徑中的字串,包括用於 Office 用戶端的網域/伺服器名稱。

  • **256 個 Unicode (UTF-16) 程式碼單位:**完整路徑中的字串,包括用於 Active X 控件的網域/伺服器名稱。

如需詳細資訊,請參閱 Microsoft 知識庫文章 894630 您收到「指定的檔案或資料夾名稱太長」錯誤訊息 (https://go.microsoft.com/fwlink/?linkid=195567&clcid=0x404)。

注意

了解程式碼單位:大多數情形下,一個 UTF-16 字元等於一個 UTF-16 程式碼單位。不過,使用大於 U+10000 的 Unicode 字碼指標的字元等於兩個 UTF-16 程式碼單位。這些字元包括但不限於日文或中文替代成對字元。如果您的路徑包括這些字元,則 URL 長度將超出 URL 長度限制 (不超過 256 或 260 個字元)。

Internet Explorer URL 長度限制

Internet Explorer 也具備與 SharePoint Server 2010 中限制不同的限制。儘管可使 SharePoint Server 2010 URL 路徑短於限制長度,但還可能會由於新增參數或編碼 URL,而遇到 Internet Explorer URL 長度限制。必須使用最嚴格的限制作為規劃 URL 長度的指南。

Internet Explorer 7 與 Internet Explorer 8 均具有下列限制:URL 最大長度為 2,083 個 UTF-8 字元,路徑最大長度為 2,048 個 UTF-8 字元。但是,在 Internet Explorer 7 中,在某些特定情況下,有效的 URL 長度限制為 1024 個 UTF-8 字元,而不是 2083 個 UTF-8 字元。如需 Internet Explorer 中的 URL 長度限制的詳細資訊,請參閱 Microsoft 知識庫文章 208427 Internet Explorer 中的 URL 最大長度為 2,083 個字元 (https://go.microsoft.com/fwlink/?linkid=195568&clcid=0x404)。

重要

除非環境中的所有瀏覽器均為 Internet Explorer 8,否則請遵守 1024 個 UTF-8 字元的有效限制。

解決 URL 長度問題

可透過多種方法解決或減輕 SharePoint Server 2010 環境中的 URL 長度問題。下列清單提供了建議:

  • 將所有使用者瀏覽器升級為 Internet Explorer 8,該版本具有更長的 URL 長度限制。

  • 使用更短的網站、資料夾及文件名稱,控制網站與資料夾結構的深度,以縮短 URL 的長度。

  • 如果可能或情況允許,請為網站、資料夾及文件使用 ASCII 名稱。這樣可避免 URL 由於編碼而變長的情形。

  • 若要降低 SharePoint Server 2010 使用者由於 URL 長度限制而遇到問題的風險,建議在部署中套用下列有效限制:

    • **256 個 Unicode (UTF-16) 程式碼單位:**有效的檔案路徑長度限制,包括網域/伺服器名稱

    • **128 個 Unicode (UTF-16) 程式碼單位:**路徑元件長度限制