Apache不调用智能HTTP CGI

我正在build立一个githttp-backend和Smart HTTP的git服务器,但是Apache似乎没有调用Smart HTTP CGI:

$ curl http://localhost/repo/myproject.git/info/refs?service=git-receive-pack 2ddf56592a0f55456b8c42dc9f2cb9289f083f53 refs/heads/1.0.x 55079bb13d9af8a9164ad0d24b654cbfe119bc7e refs/heads/master 

这是我的configuration:

 <VirtualHost *:8000> ServerName localhost DocumentRoot /opt/local/apache2/htdocs/repo SetEnv GIT_PROJECT_ROOT /opt/local/apache2/htdocs/repo SetEnv GIT_HTTP_EXPORT_ALL ScriptAlias /repo/ /usr/libexec/git-core/git-http-backend/ AliasMatch ^/repo/(.*/objects/[0-9a-f]{2}/[0-9a-f]{38})$ /opt/local/apache2/htdocs/repo/$1 AliasMatch ^/repo/(.*/objects/pack/pack-[0-9a-f]{40}.(pack|idx))$ /opt/local/apache2/htdocs/repo/$1 ScriptAliasMatch \ "(?x)^/repo/(.*/(HEAD | \ info/refs | \ objects/(info/[^/]+ | \ [0-9a-f]{2}/[0-9a-f]{38} | \ pack/pack-[0-9a-f]{40}\.(pack|idx)) | \ git-(upload|receive)-pack))$" \ /usr/libexec/git-core/git-http-backend/$1 <Directory "/usr/libexec/git-core/"> Options +ExecCGI Allow From All </Directory> <LocationMatch "^/repo/.*/git-receive-pack$"> AuthType Basic AuthName "Git" Require valid-user AuthUserFile /etc/apache2/other/htpasswd </LocationMatch> </VirtualHost> 

这里是httpd -S的输出:

 VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:8000 localhost (/private/etc/apache2/other/gitrepo.conf:1) Syntax OK 

我已经在我的服务器端gitconfiguration中启用了http.receivepack= true ):

 [http] receivepack = true 

任何想法我应该做什么?

那么,因为这是在8000的虚拟主机,我会假定你想curl http:// localhost:8000 /,而不是http:// localhost /。 除此之外,只要确保mod_cgi已启用。