我有 apache 的 gitweb 配置:
#/etc/apache2/conf.d/gitweb
RewriteEngine on
RewriteRule ^/\~([a-z]*\.[a-z]*)/gitweb/([a-zA-Z0-9_\-]+\.git)/?(\?.*)?$ /cgi-bin/gitweb.cgi/$1 [L,PT]
<Directory /home/*/*/public_apache/gitweb>
Options Indexes FollowSymlinks ExecCGI
DirectoryIndex /cgi-bin/gitweb.cgi
AllowOverride None
</Directory>
我的问题是我只能为 gitweb 设置一个项目根目录。所以我想为 gitweb 配置设置变量。就像是:
SetEnv GITWEB_CONFIG_PROJECT_ROOT /home/$1/$2/public_git
所以我可以在 /etc/gitweb.conf 中使用它。就像是:
$projectroot = GITWEB_CONFIG_PROJECT_ROOT;
所以...我的问题是:如何从Direcotry标签中获取路径?
我会说,用类似的
mod_rewrite
东西来做:当然,如果用户和存储库部分是我认为它们在您的
RewriteRule
. 它可能不起作用,因为我不知道所有细节,但它可能会提示您从这里去哪里。