Re: Make Gitweb behave like Apache mod_userdir
- From
Sylvain Rabot <sylvain@abstraction.fr>
- Date
- Nov 18, 2009, 00:16 UTC
- Message-ID
- <7fce93be0911171616l4f41acd4v2a42d5849a139d29@mail.gmail.com>
- In-Reply-To
- <4B032AC8.4@eaglescrag.net>
Show 15 quoted lines
> For starters I think overriding the /~<user> (specifically the ~ here) is > going to be a bad idea no matter what you do and gives the wrong impression > about what / how the request is being responded to. You might want to try > and pick a different delimiter or re-work the rule so that you could have > something like: > > http://git.kernel.org/<gitweb urls> > http://git.kernel.org/user/<gitweb urls> > > Your also, likely, going to need to take into account things like index.cgi > and gitweb.cgi in the url as things like: > > http://git.kernel.org/?p=bluetooth/bluez-gnome.git;a=summary > http://git.kernel.org/gitweb.cgi?p=bluetooth/bluez-gnome.git;a=summary >
<VirtualHost git.abstraction.fr:80>
ServerAdmin webmaster@abstraction.fr
ServerName git.abstraction.fr:80
DocumentRoot /var/www/sylvain/git.abstraction.fr/html # Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel debug CustomLog /var/www/sylvain/git.abstraction.fr/log/access.log combined
ErrorLog /var/www/sylvain/git.abstraction.fr/log/error.log
ServerSignature On RewriteEngine on
RewriteLog /var/www/sylvain/git.abstraction.fr/log/rewrite.log
RewriteLogLevel 3
RewriteRule ^/$
/cgi-bin/gitweb.cgi [QSA,L,PT]
RewriteRule ^/gitweb.cgi$
/cgi-bin/gitweb.cgi [QSA,L,PT]
RewriteRule ^/\~([^\/]+)/?$
/cgi-bin/gitweb.cgi
[QSA,E=GITWEB_PROJECTROOT:/home/$1/public_git/,L,PT]
RewriteRule ^/\~([^\/]+)/gitweb.cgi$
/cgi-bin/gitweb.cgi
[QSA,E=GITWEB_PROJECTROOT:/home/$1/public_git/,L,PT]
RewriteRule ^/users/([^\/]+)/?$
/cgi-bin/gitweb.cgi
[QSA,E=GITWEB_PROJECTROOT:/home/$1/public_git/,L,PT]
RewriteRule ^/users/([^\/]+)/gitweb.cgi$
/cgi-bin/gitweb.cgi
[QSA,E=GITWEB_PROJECTROOT:/home/$1/public_git/,L,PT] ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin/">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory> Alias /gitweb /usr/share/gitweb/
<Directory "/usr/share/gitweb/">
AllowOverride None
Options +MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory></VirtualHost>
You can test here :
http://git.abstraction.fr/ http://git.abstraction.fr/gitweb.cgi http://git.abstraction.fr/~sylvain/ http://git.abstraction.fr/~sylvain/gitweb.cgi http://git.abstraction.fr/users/sylvain/ http://git.abstraction.fr/users/sylvain/gitweb.cgi
The dns record is fresh. If your dns is not up to date the ip is 88.191.254.60.