git http-backend 在每个浏览器访问时显示信息

Luk*_*uth 5 git arch-linux apache-2.2

我目前正在为我的私人项目托管我自己的 git-repos。为此,我使用 Apache 和标准的 git http-backend

现在,可以在如下 URL 下访问存储库:

http://vcs.myserver.lc/git/Repo.git
Run Code Online (Sandbox Code Playgroud)

有了这个 URL,我可以使用向/从这个 repo 推送、获取和克隆。然而,在浏览器中打开这个 URL 只会给我一个空白页面,现在我正在寻找一种方法来避免这种情况。

相反,我希望 Apache 显示一个页面,其中包含一些信息,例如:

这不是网页,这是一个 git-repo。您可以使用git clone [URL]...

如果[URL]将其替换为当前 URL(例如使用 PHP)会很好,但是纯 HTML 也可以。

我知道这应该是可能的,因为 对他们的回购做同样的事情。

我设法vcs.myserver.lc通过DocumentRoot在 VHost-config 文件中指定 a来为-domain做类似的事情:

DocumentRoot /srv/http/vcs/
Run Code Online (Sandbox Code Playgroud)

在此路径中,我放置了一个index.html带有基本说明的简单文件。

那么,当 git-client 仍然可以使用 repo 时,他们是否有任何简单的方法来显示浏览器的信息端?我可以将浏览器重定向到特定的信息站点吗?

Den*_*ker -1

是的,这实际上相对简单。您需要告诉 apache 仅将 git-http-backend 用于 git 感兴趣的内容,即任何匹配的内容^.*/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$