В настоящее время у нас есть сервер подрывной деятельности на svn.company.com для внутреннего (а иногда и внешнего) использования. В настоящее время репозитории расположены в / svn / [project] через SVNParentPath. Однако руководство хочет сделать их также доступными только по адресу / [project]. Мне удалось заставить его работать с некоторыми директивами mod_rewrite:
#Don't redirect (internally, note the PT (passthrough)) any trac or admin pages
RewriteCond %{REQUEST_URI} !^/trac.*$
RewriteCond %{REQUEST_URI} !^/admin.*$
RewriteCond %{REQUEST_URI} !^/svn.*$
RewriteRule ^/(.*)$ /svn/$1 [PT,NS,QSA]
Кажется, это работает, но не работает при проверке или выполнении любых других фактических операций SVN. Моя теория состоит в том, что DAV сообщает свой URL как / svn / [project], и клиент прерывает работу, когда он не соответствует запрошенному URL-адресу / [project].
Как бы вы это решили?
Не могли бы вы просто использовать обе вещи?
<Location "/">
....setup for management
SVNParentPath /path/to/repos
</Location>
<Location "/svn">
...stuff for /svn/project
SVNParentPath /path/to/repos
</Location>