WebDav问题svn:'/ dir / dir'的PROPFIND 301永久移动

时间:2011-01-22 18:02:22

标签: svn apache webdav

尝试将运行SVN和WebDAV的开发服务器中的SVN repo文件导出到在hostgator帐户上运行的舞台服务器时,出现以下错误。

以下是完整错误:

svn: PROPFIND request failed on '/svn/egr/trunk'
svn: PROPFIND of '/svn/egr/trunk': 301 Moved Permanently (http://some.no-ip.info)

这是我正在使用的SVN命令:

svn export http://some.no-ip.info/svn/egr/trunk . --force --username myusername

我的WebDAV虚拟主机配置如下所示:

<VirtualHost *:80>
        ServerName some.no-ip.info
        DocumentRoot /var/svn/

        <Directory /var/svn/>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        Alias /svn "/var/svn/"
        <Location "/svn">
           DAV On
           DavDepthInfinity on
           SVNParentPath /var/svn/
           AuthType Basic
           AuthName "SVN Login"
           AuthUserFile /etc/apache2/dav_svn.passwd
           Require valid-user
       </Location>
</VirtualHost>

在你问之前我打算将它用于/ var / svn中已经存在的多个项目,所以这就是我尝试使用SVNParentPath进行配置的原因。关于这个错误,谷歌回来了相当多的东西,但没有一个解决方案似乎适合我。

1 个答案:

答案 0 :(得分:1)

好的,我终于解决了这个问题。我将所有SVN / WebDAv配置移出我的虚拟主机配置,使其看起来像这样:

<VirtualHost *:80>
        ServerName myhost.no-ip.info
        ServerAdmin webmaster@localhost
        ServerAlias egr.localhost
        DocumentRoot /var/svn/egr/trunk
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined
        ErrorLog /var/log/apache2/error.log
        Options Indexes None
</VirtualHost>

然后我进入/etc/apache2/mods-available/dav_svn.conf并按如此配置:

 <Location /svn>
     DAV svn
     SVNParentPath /var/svn/
     AuthType Basic
     AuthName "SVN Repo"
     AuthUserFile /etc/subversion/passwd
     <LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
     </LimitExcept>
  </Location>

我无法通过远程(以及本地svn客户端)访问我的SVN仓库,并且还可以通过HTTP渲染文件。