分类: LINUX
2009-08-12 11:53:44
我可以从一个WEB浏览器上查看我的版本库,但是在执行'svn checkout' 时发生一个错误:"301 Moved Permanently"。那个地方出错了?
这意味着你的httpd.conf配置有问题,通常情况下,当你设置的Subversion虚拟目录同时存在两种寻址方式的时候会出现这样的错误。
例如,当你将版本库放到/www/foo目录下,但是你又同时设置了你的版本库的根目录为/www,那么你就麻烦了。当有人请求一个/www/foo/bar文件的时候,apache根本不会知道,对方真正想要寻找的文件,是在根目录里下的/foo/bar,还是通过调用mod_dav_svn模块从/www/foo版本库中去把/bar文件给取回来,通常Apache的处理行为是采取前者的方式,因此就会出现“永久转移”这样的错误了。
解决这个问题的办法就是确认你的版本库路径不会有重叠,或者存在其他网络共享可访问的路径里面。
出现这个问题还有一个可能的原因,就是在网站根目录存在一个和版本库的URL同名的文件(文件夹)。例如,假设你的WEB服务器的根目录设置在/var/www,你的Subversion版本库被放置在/home/svn/repo目录下,然后你在Apache下将该版本库的URL配置成。如果你这时又在/var/www下创建了一个myrepo的目录,那么同样会产生301的错误。