
Ich hoste einen Git-Apache-Server und muss ein Skript mit ScriptAlias auslösen. Ich habe mich gefragt, ob es möglich ist, ScriptAlias auf diese Weise zu verwenden, sodass es nur ausgelöst wird, wenn eine GET-Anforderung für DocumentRoot (z. B. https://domain
) vorliegt:
ScriptAlias / /path/to/script
Leider funktioniert das nicht, daher verwende ich
ScriptAlias /git /path/to/script
(Git ist nur ein Platzhalterwort), was bedeutet, dass mein Git-Repo-Speicherort wäre. https://domain/git/foo/bar.git
Gibt es eine Möglichkeit, dies zu vereinfachen https://domain/foo/bar.git
?
Vielen Dank
Edit: um es prägnanter zu machen
Ich möchte die URL https://domain/
einem CGI-Skript in meinem Dateisystem (außerhalb des DocumentRoot-Verzeichnisses) zuordnen. Und ScriptAlias / /path/to/script
das scheint nicht zu funktionieren.
Antwort1
Die ScriptAlias
Richtlinie bewirkt zwei Dinge:
- Die erste ist im Wesentlichen identisch mit der
Alias
Direktive; sie ordnet eine URL einem Dateisystempfad zu, der normalerweise kein Verzeichnis darin istDocumentRoot
. - Zweitens wird das Verzeichnis als ein Verzeichnis markiert, das CGI-Skripte enthält.
Wenn die CGI-Skripte bereits vorhanden sind, Sie die Funktionalität DocumentRoot
nicht benötigen und die Verwendung von nicht notwendig ist, müssen Sie nur das Zweite tun, was mit erledigt wird:Alias
ScriptAlias
<Location "/">
SetHandler cgi-script
Options +ExecCGI
</Location>