使用SVNParentPath的時候,直接訪問根目錄的時候,老是獲得如下錯誤提示:html
403 Forbidden Forbidden You don't have permission to access / on this server.
下面的辦法能夠搞定它:apache
1、首先,Subversion1.3及之後版本支持SVNListParentPath ON,以前的版本只能使用PHP本身作。svn
2、Location 設置中最後要加上/,應該是<Location /svn/>
而不是<Location /svn>
不然可能不能訪問。ui
3、經過「http://localhost/svn/」 來訪問倉庫列表,若是想讓「http://localhost/svn」也起做用的話,須要在的後面增長重定向的設置:RedirectMatch ^(/svn)$ $1/ ,固然也能夠採用RewriteEngine之類的辦法。this
4、修改後的httpd.conf的對應部分以下:.net
<Location /svn/> DAV svn SVNListParentPath on SVNParentPath /code/svndata AuthType Basic AuthName "Subversion repository" AuthUserFile /code/svndata/passwd AuthzSVNAccessFile /code/svndata/authz Require valid-user </Location>
TIP: SVNPath 與 SVNParentPath區別code
dav_svn.conf 的配置中有 SVNPath 與 SVNParentPath 兩個選項.
SVNPath用於只有一個項目的狀況,此時若是在主目錄下面再建新項目,則不能訪問.提示沒有權限.
若是有多個項目的話,此時應該使用SVNParentPath來設置父目錄來設置項目的父目錄,這樣子目錄裏面能夠有多個項目了。而後auth文件裏面能夠定義子目錄的權限,apache的/etc/httpd/conf.d/subversion.conf 配置文件裏面設置一個location就能夠了。server
<Location /svn> DAV svn SVNParentPath /tmp/svntest/ AuthType Basic AuthName "Subversion" AuthUserFile /tmp/svntest/passwd AuthzSVNAccessFile /tmp/svntest/authz Require valid-user </Location>
之後多個子項目都是用一樣的認證文件,訪問方式就爲 http://ip/svn/pro1 http://ip/svn/pro2htm
[root@svn svntest]# ls authz passwd pro1 pro2 [root@svn svntest]# pwd /tmp/svntest
認證文件給子項目賦權。blog
[root@svn svntest]# cat authz [pro1:/] user1 = rw [pro2:/] user1 = rw
參考
http://blog.csdn.net/islq/article/details/666911
http://54im.com/svn/svnpath-svnparentpath.html