Apacheのバージョンを2.2.14から2.4.7にバージョンアップしたところ、WebDAVで一部のフォルダの中身が空になってしまうという現象が発生しました。実際にファイルが無くなっている訳ではなく、WebDAVから見るとなぜか何も無いように見えるようです。
WebDAVのアクセスログを見ると、ディレクトリをPROPFINDしたときに405が返っているので、ファイルリストの取得に失敗して何も無いように見えるという結果になるようです。
調べてみると、これはApacheのバグのようです。
Bug 54914 - mod_dir DirectoryIndex breaks WebDAV PROPFIND / DELETE / MOVE
https://bz.apache.org/bugzilla/show_bug.cgi?id=54914
index.htmlなどの'DiretoryIndex'ディレクティブに指定されているファイルが存在している時にディレクトリにアクセスするとmod_dirが何かをやらかして405応答になるようです。確かに見られるディレクトリにはindex.htmlが存在せず、空に見えるディレクトリにはindex.htmlが存在していました。
mod_dirを無効にするか、WebDAV領域の設定に以下のように空のDiretoryIndex
を指定することでこの問題を回避することができます。
DiretoryIndex
修正は2.5系にしか入っていないっぽいので、まだしばらく悩まされそうです……