久しぶりのまともな解説系の投稿です。

SharePointでファイル名などに使ってはダメな禁則文字と言う物が有ります。
http://support.microsoft.com/kb/905231/

此方を見る限り、SharePointの制限としてサイトのURLに禁則文字が含まれるのが問題と成ります。
(サイト名と書いてますが、正しくはサイトのURLです。)

では、サイトのURLで禁則文字である、plus sign (+)がフォルダ名では何故か許可されています。
応えは簡単!ブラウザでアクセスすると、フォルダなどはURLパラメータで判定できるため、URLに禁則文字が含まれていても構わない見たいです。
(URLパラメータの「RootFolder」を使用してフォルダを判定します。+記号は「%2B」とエンコードされます。)

しかし、問題が有ります。
WebDAV接続や、Officeクライアントからの接続が必要なときは、URLパラメータとしてフォルダへアクセスすのではなく、URLとしてアクセスする為、+付のフォルダへはアクセスできなくなります。

なぜ+がダメなのでしょうか?
まあ、、仕様なのですが、なぜこの様な使用が有るのでしょうか?
+は2重エスケープが必要な文字である為の様です。

IISのデフォルト設定では、2重のエスケープシーケンスが含まれている場合、401のエラーを返してURLへのアクセスが出来ません。
下記リンクの404.11を参照してください。
http://support.microsoft.com/kb/943891/

では、フォルダ名に+を付けた場合はWebDAVからアクセスできないのでしょうか?
出来ます。
方法は、IISの設定変更が必要に成り、セキュリティレベルを下げる設定が必要に成ります。
IISの設定ファイル「ApplicationHost.config 」を修正する事でURLとして+を使用する事が可能になります。
詳細は下記のリンクを参照下さい。
http://support.microsoft.com/kb/942076

でも、、結構例外が有る様で、IISログを見ると、2重エンコードを回避している場合もあります。
それは、上手く行く事もあると言う事で、フォルダ名に+を使用するべきではない事は間違いないようですね。

でわでわそんな感じで、、

Comments Off

Comments are closed.