1

我有一个适用于 SVN DAV 和 WebSvn 的 apache 配置。我目前在http://svnserver/svn和 websvn 在http://svnserver/websvn提供 DAV 。

我想做的是在http://svnserver/和 websvn 在http://svnserver/websvn提供 DAV 。但是,我无法让它工作,因为 websvn 位置位于 dav 根目录之下。

我有两个部分,一个用于 /,一个用于 /websvn。使用此配置,您根本无法访问 websvn,因为根位置会接管。我以为我可以使用正则表达式来匹配 DAV 但这也不起作用:

我努力了:

<LocationMatch "^/(?!websvn/)" >

<Location ~ "^/(?!websvn/)" >

但两者都不起作用。使用正则表达式时,连接会在访问 / 时被重置。访问 /websvn 工作正常。

我在这里阅读了一篇帖子,该帖子表明 apache 在通过正则表达式时会对请求执行某些操作,这会弄乱 dav。看起来这是真的。

如果有什么更明确的,或者关于我如何让它工作的任何建议?

4

1 回答 1

0

我不认为这是一个错误......而是一个错误配置,除非请求在传递给 PHP 或 webDAV 模块之前被正确重写。为了使其工作,需要将 /websvn 作为最顶层的正则表达式放入 .htaccess 中,并通过添加 [L] 标志从 webDAV 中排除这些请求......甚至可以根据需要加载 apache2 模块请求的位置。很抱歉没有提供准确的语法(在工作中),但是将排除项放在最上面的提示应该使它按需要工作。

于 2013-10-06T16:05:25.167 回答