J'essaie de configurer une traduction de sous-domaine à référentiel dans Apache. Exemple:Repos dynamique de subversion via des sous-domaines (dans Apache)
foobars.domain.com -> /server/svnrepos/foobars
J'ai essayé de réaliser ce but avec mod_rewrite:
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.domain\.com$ [NC]
RewriteRule ^/svn(.*) /svn/%2$1 [PT]
Cependant, cela pose des problèmes avec les opérations de svn de base; « Caisse » fait cette jolie chose:
$ svn co http://foobars.domain.com/svn
svn: '/svn/foobars/!svn/vcc/default' path not found
Je n'ai aucune limitation en termes de configuration du serveur (mes machines, os, etc.). Y a-t-il un moyen de faire gérer cette traduction par Apache? J'ai regardé des hôtes virtuels de masse, mais je ne vois pas comment étendre le concept aux emplacements DAV (j'aurais aimé qu'il y ait un VirtualSvnPath ...). La façon dont mod_dav_svn vous oblige à 1) définir explicitement votre chemin svn repo, ou 2) définir le parent, est très limitée.
Peut-être le « SVNSpecialURI » peut être utile, même si je ne peux pas trouver de la documentation sur elle ...
En supposant que mon but ultime est de tracer une à un sous-domaine SVNPath, ce sont mes options?
Mon actuelle comme référence conf:
<VirtualHost *:80 *:443>
ServerAdmin [email protected]
DocumentRoot "/server/www"
ServerName domain.com
ServerAlias *.domain.com www.domain.com domain.com
ErrorLog logs/domain-error_log
CustomLog logs/domain-access_log common
DirectorySlash Off
RewriteLogLevel 9
RewriteLog /server/log/apache-rewrite.log
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.domain\.com$ [NC]
RewriteRule ^/svn$ /svn/ [QSA]
RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?([^.]+)\.domain\.com$ [NC]
RewriteRule ^/svn(.*) /svn/%2$1 [PT]
<Location /svn>
DAV svn
SVNParentPath /server/svn
</Location>