Subversion的Repository列表完美解决方案

王朝other·作者佚名  2008-05-18
窄屏简体版  字體: |||超大  

我的SVN项目都放在h:/svn下,在Apache中只是把这个目录设置成了虚拟目录,这样我可以方便的通过http: //localhost/svn/project1访问这个目录下的所有Repository,但如果我想访问http: //localhost/svn/,是得不到所有Repository列表的,只是一个403 Forbidden错误,在TortorseSVN的帮助中有这么一篇文章中提到了解决的方法,下面是我的具体实施和一点心得。

SVN在Apache中的配置段一般都用<Location>,我尝试过使用<Directory>,好像也可以,但不管用那个,在配置中无法使用AllowOverride指令,也就是说.htaccess文件无法使用。因此,若想把http: //localhost/svn/转向到调用其它文件,只能使用Rewrite module,并且必须写在<Location>段之外。我就是在这里试了N久 :( 。

(Apache一般配置和PHP、Rewrite module安装略过)

为了方便管理,用于显示Repository列表的PHP文件放在了h:/svn/svntools/目录,也就是在SVN的根目录下 :-) 。因此,Apache中的这段配置如下:

Alias /svntools "h:/svn/svntools"

RewriteEngine on

RewriteRule ^/svn/$ /svntools/svn_index.php [PT]

<Location /svn>

DAV svn

SVNParentPath h:/svn

</Location>

先用Alias定义到h:/svn/svntools的虚拟目录,这样就可以访问到svn_index.php文件了,然后打开 RewriteEngine,使用RewriteRule将到/svn/的访问重定向到/svntools/svn_index.php文件,通过执行这个文件就会产生Repository列表了;最后是SVN虚拟目录的配置。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航