¿Cómo puedo configurar Apache para que sirva SVN con esta configuration de URL en particular?

Tengo un VPS y estoy tratando de alojar varios proyectos SVN. Me gustaría que las routes URL sean así:

http://svn.domain.com -> Welcome HTML page (at /var/www/svn.domain.com/httpdocs/index.php) http://svn.domain.com/project1 -> Project 1 SVN Root http://svn.domain.com/project2 -> Project 2 SVN Root http://svn.domain.com/project3 -> Project 3 SVN Root 

Sin embargo, con el siguiente código, lo primero (página HTML de bienvenida) no aparece, ya que el bloque Ubicación tiene prioridad sobre DocumentRoot.

Configurar el bloque de Ubicación en <Location /repos> funciona, pero mis URL se convierten en http://svn.domain.com/repos/project1 , lo que no me gusta.

¿Alguna sugerencia?

 <VirtualHost *> ServerName svn.domain.com DocumentRoot /var/www/svn.domain.com/httpdocs <Location /> DAV svn SVNParentPath /var/svn SVNIndexXSLT "/svnindex.xsl" AuthzSVNAccessFile /var/svn/access SVNListParentPath On # try anonymous access first, resort to real # authentication if necessary. Satisfy Any Require valid-user # how to authenticate a user AuthType Basic AuthName "Subversion repository" AuthUserFile /var/svn/passwd </Location> </VirtualHost> <Directory /var/svn> Allow from all </Directory> 

puede usar la directiva SVNPATH , sin embargo, tiene que configurar tres ubicaciones (cada proyecto necesita su propio)

Puede solucionar esto sin tener que cambiar su configuration de Apache cada vez que agrega un nuevo proyecto al agregar un subdominio para sus repositorys SVN. Terminas con algo como esto:

 <VirtualHost *> ServerName svn.domain.com DocumentRoot /var/www/svn.domain.com/httpdocs <Location /svn> DAV svn SVNParentPath /var/svn SVNIndexXSLT "/svnindex.xsl" AuthzSVNAccessFile /var/svn/access SVNListParentPath On # try anonymous access first, resort to real # authentication if necessary. Satisfy Any Require valid-user # how to authenticate a user AuthType Basic AuthName "Subversion repository" AuthUserFile /var/svn/passwd </Location> <Directory /var/svn> Allow from all </Directory> <Directory /var/www/svn.domain.com/httpdocs> # Doc. root directives here</Directory> 

A continuación, tendrá que acceder a sus repositorys con las URL del formulario http://svn.domain.com/svn/project1/ , pero si desea agregar el proyecto 4, todo lo que tiene que hacer es agregar el nuevo repository en / var / svn.

¿Qué pasa con mod_rewrite ? Podrías configurar una carpeta para cosas que no sean SVN ( http://example.com/info/ ), luego usar mod_rewrite para networkingirigir las requestes de '/' o '/index.php' a '/info/index.php' . Funcionaría eso?