【问题标题】:Why does Apache SVN repository list show empty?为什么 Apache SVN 存储库列表显示为空?
【发布时间】:2019-10-01 15:30:55
【问题描述】:

我正在从 Windows 机器上的 Visual SVN 迁移到 Linux 机器上通过 Apache 提供的 SVN。到目前为止大多是成功的。如果我将单个存储库的完整 URL 输入 Web 浏览器,我可以在多台机器的命令行上通过 svn 访问存储库并浏览存储库内容。它也适当地需要身份验证。

但是,当我在浏览器中转到根目录 (/svn) 时,我得到了一个 empty 存储库列表。我在互联网上发现了很多关于列表被阻止的情况的帖子,即您得到的是 HTTP 403 而不是列表,但我的情况不是。我得到一个列表 - 它恰好是空的。这在浏览器中显示为格式正确的页面,<ul></ul> 标记之间没有任何内容,并且它在 Apache 日志中显示为给定的成功 (HTTP 200) 响应。

所以问题是为什么会发生这种情况以及如何解决它?

配置:

<VirtualHost *:80>
        ServerName svn.example.com
        Alias /svn /var/lib/svn
        <Location /svn>
                DAV svn
                SVNParentPath "/var/lib/svn/"
                SVNListParentPath On
                AuthType Basic
                AuthName "My Software Repository"
                AuthUserFile /etc/apache2/dav_svn.passwd
                Require valid-user
        </Location>
        RedirectMatch ^/$ /svn
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

这台机器上有多个虚拟主机。我只展示了 SVN 主机的部分。

这是我在浏览器中导航到 svn.example.com/svn 时返回的 HTML(身份验证后):

<html><head><title>Collection of Repositories</title></head>
<body>
 <h2>Collection of Repositories</h2>
 <ul>
 </ul>
 <hr noshade><em>Powered by <a href="http://subversion.apache.org/">Apache Subversion</a> version 1.9.5 (r1770682).</em>
</body></html>

在添加 SVNListParentPath on 部分之前,我会收到一个 HTTP 403,并且需要强调的是,这是我在这里和其他地方看到的最常见的情况。但这不是我的情况。

【问题讨论】:

    标签: apache svn


    【解决方案1】:

    删除Alias /svn /var/lib/svn 行似乎已经解决了问题而不会导致任何新问题。

    我在处理“重定向周期”时偶然发现了这个问题,该问题由另一个无关的问题的答案之一解决:What is the cause of "svn: E195019: Redirect cycle detected for URL"?

    【讨论】:

      猜你喜欢
      • 2022-12-06
      • 1970-01-01
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      • 2020-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多