ScriptAlias: So markieren Sie DocumentRoot als Zielverzeichnis

ScriptAlias: So markieren Sie DocumentRoot als Zielverzeichnis

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.gitGibt 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/scriptdas scheint nicht zu funktionieren.

Antwort1

Die ScriptAliasRichtlinie bewirkt zwei Dinge:

  • Die erste ist im Wesentlichen identisch mit der AliasDirektive; sie ordnet eine URL einem Dateisystempfad zu, der normalerweise kein Verzeichnis darin ist DocumentRoot.
  • Zweitens wird das Verzeichnis als ein Verzeichnis markiert, das CGI-Skripte enthält.

Wenn die CGI-Skripte bereits vorhanden sind, Sie die Funktionalität DocumentRootnicht benötigen und die Verwendung von nicht notwendig ist, müssen Sie nur das Zweite tun, was mit erledigt wird:AliasScriptAlias

<Location "/">
    SetHandler cgi-script
    Options +ExecCGI
</Location>

verwandte Informationen