自宅サーバのデータをWebDAVで公開すべく、設定で起こったトラブルのメモ。
以前から一部でWebDAVを使っていて問題がでていなかったのに、 Windows マシンから、「ネットワークプレースの追加」によりWebフォルダとして アクセスしようとすると、「有効なフォルダがない」と表示されてしまう。
いろいろ調べると、フォルダ指定で末尾に"/"がついているか/付いていないかで、 動かなかったりする。
((webDAVの設定行のダメな例)) Alias /path/ /var/www/hoge/path/ <Location /path/> : </Location> ((ネットワークプレースのアドレス指定のダメな例)) http://www.example.com/path/ ★ともかく、フォルダ名の末尾に"/"をつけない!! ((webDAVの設定行の正しい例)) Alias /path /var/www/hoge/path <Location /path> : </Location> ((ネットワークプレースのアドレス指定の正しい例)) http://www.example.com/path
言い訳:ブラウザでは、"http://www.example.com/path"と書いてあると、 path がファイルなのかフォルダなのかは、アクセスしてみないとわからない。 だから一旦ファイルのつもりでアクセスして、サーバからの返答に応じて 再びフォルダとして2度目のアクセスを行う。 このため、他人にURLを知らせる場合、 "http://www.example.com/path/"で教える方が、2度目のアクセスが発生しないので、親切。
だから、この習慣に従って、設定ファイルの記述でpath 指定に"/"を付けてしまうことが多い。 実際、自分でファイルをアクセスするプログラムを作る時にも、 設定ファイルの設定値の末尾が"/"付きか無か、付いてたら"/"を消すとかいった処理を 面倒がらずに書くのが「本当のプログラマー」…といいながらよく忘れる…