【问题标题】:How to configure apache to allow overlapping locations (for svn and websvn)如何配置 apache 以允许重叠位置(对于 svn 和 websvn)
【发布时间】:2012-03-21 12:09:43
【问题描述】:

我有一个适用于 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 工作正常。

我读到了一个帖子here,它表明 apache 在通过正则表达式时对请求做了一些事情,这弄乱了 dav。看来这是真的。

如果对此有任何更明确的建议,或者关于我如何使其发挥作用的任何建议?

【问题讨论】:

标签: apache svn websvn


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 2019-08-27
    • 2023-03-11
    • 2023-04-03
    • 2016-09-06
    • 1970-01-01
    相关资源
    最近更新 更多