有個 User 在 SPS2003 的 Sub Site 中建立了一個 Document Library 並在裡頭建立了大量的目錄來作資料分類,這看起來不會有甚麼問題,但是當目錄階層一多的時候,問題就來了,原因是因為 SPS2003 的 URI 表示方式 :
http://[Porta URL]/sites/[SiteName]/[Dir1]/[Dir2]/[FileName]
在這種情況之下,越多階的目錄結構,將導致 URI 的字元數超過瀏覽器吃得下的數量,當然就會出現問題了。
而相同的情況也反應到 Sub Site 的階層數上,當 Sub Site 底下還設定了更下層的 Sub Sites,URL 也有可能會爆掉,所以在本質上這種設計方式會導致的問題還真不少,在大量使用 GUID 來當作 URL 之外,也許是為了管理的方便而有了這樣的設計,不曉得這個問題在 2007 版本上有沒有進行任何的修正。
總之在規畫你的 Team Site 時要特別注意這種架構設計問題,不要再誤踩地雷就是了。
All of our length checks are done by converting the string to UTF-16, and counting the number of 16-bit characters (which removes the distinction between UCS-2 and UTF016 surrogate characters). Any actual database path that exceeds 256 UCS-2 characters for the directory name, 128 characters for the leaf name, or 260 characters for the full server-relative url (without leading slash) is too long and unsupported.