Regarding the rewrite rules below, `man git-http-backend` is instructive ...though it would be better if updated for OpenBSD's native `httpd` ;)
K. > 6) set /etc/httpd.conf > > server "default" { > listen on 0.0.0.0 port 80 > > # these two rules are trying to match > https://git-scm.com/docs/git-http-backend > <https://git-scm.com/docs/git-http-backend>, > # but I suspect that I botched them... > location match > "^.*\.git/objects/([0-9a-f]+/[0-9a-f]+|pack/pack-[0-9a-f]+.(pack|idx))$" { > request rewrite "/usr/local/libexec/git/git-http-backend/%1" > } > location match > "^.*\.git/(HEAD|info/refs|objects/info/.*|git-(upload|receive)-pack)$" { > request rewrite "/usr/local/libexec/git/git-http-backend/%1" > } > > location "/docs/*" { > fastcgi { > socket "/run/slowcgi.sock" > param DOCUMENT_ROOT "/" > param GIT_HTTP_EXPORT_ALL "" > param GIT_PROJECT_ROOT "/git-repos" > param SCRIPT_FILENAME > "/usr/local/libexec/git/git-http-backend" > } > } > }