如何在命名虚拟主机的根目录中启用mod_dav_svn?

Mat*_*ley 14 svn apache

这可能吗?我遇到了SVN客户端无法访问存储库的问题,并显示以下错误消息:

存储库永久移动到' http://svn.example.com/test/ '; 请搬迁

如果我将'/'添加到我尝试访问的路径的末尾,它只是将其再次剥离,并显示相同的错误消息.我的配置文件如下:

<VirtualHost *>
  ServerName svn.example.com
  # Normal VirtualHost stuff here

  <Location /svn>
    # Uncomment this to enable the repository
    DAV svn
    SVNParentPath /some/path/to/repositories

    # Setup mod_authz_svn, etc, etc here
  </Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

注意:这有效.但是,如果我将位置更改为刚/停止再次使用上述错误.是否可以使用根目录,或者我在这里遗漏了什么?当从根目录提供存储库时,Firefox会显示存储库列表.

正如其他人所指出的那样,这似乎只是一个名为虚拟主机的问题......任何人都有任何聪明的想法为什么?

azk*_*oki 6

问题是你正在使用文档根目录作为存储库根目录(我不是在责备你,这应该只是工作,但事实并非如此).

尝试将DocumentRootSVNParentPath指令指向不同的物理位置,因此生成的配置文件应如下所示(缩写):

<VirtualHost *:80>
    DocumentRoot /home/svn.example.com/docroot

    <Location />
        SVNParentPath /home/svn.example.com/svnroot
        SVNListParentPath on
    </Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

另外,正如@Nigel Jewell所说,删除那个重写块,以获得理智.

  • 这对我不起作用.点击根文件给我403 Forbidden. (6认同)