webdav不识别软链接?解决办法?


在使用webdav实现公网存储共享的时候,发现webdav并不支持软链接的共享,如下源代码可以100%确定这个问题

/* ### for now, only process regular files (e.g. skip symlinks) */
if (S_ISREG(fsctx->info1.finfo.st_mode)) {

然而实验室平台的存储目录都是使用软链接组织在一起的,这个问题将导致公网上挂载存储目录的时候看不见一些很重要的目录。

(使用apache2的mod_dav模块实现)

遂Google一番,得到两个结论,如下:

  1. 为什么webdav社区决定不支持软链接的共享?

    社区给出的官方解释如下:mod_dav does not display symbolic links and ignores them when found. Symbolic links are not defined in RFC 2518. Note that the repository or in this case the file system should be private to mod_dav and since mod_dav cannot create symbolic links you should not have any symbolic links unless you created them manually or with another program. If you are manipulating the repository manually while mod_dav is running be careful as you are circumventing mod_dav's file locks and could potentially cause problems.

  2. 解决办法?

    有人给mod_dav打了一个支持软链的补丁,http://marc.info/?l=dav-dev&m=105691033506577&w=3

    本人未进行测试,是否能解决有待确定。

04-17 11:27