ScriptAlias: DocumentRoot をターゲット ディレクトリにマークする方法

ScriptAlias: DocumentRoot をターゲット ディレクトリにマークする方法

私は git apache サーバーをホストしており、ScriptAlias を使用してスクリプトをトリガーする必要があります。DocumentRoot (例: https://domain) に対する GET 要求がある場合にのみトリガーされるように、ScriptAlias を次のように使用できるかどうか疑問に思っています。

ScriptAlias / /path/to/script

残念ながら、これはうまくいかないので、回避策として

ScriptAlias /git /path/to/script

(git は単なるプレースホルダー ワードです) つまり、私の git リポジトリの場所は次のようになります。https://domain/git/foo/bar.gitこれを に簡略化する方法はありますかhttps://domain/foo/bar.git?

本当にありがとう

編集: より簡潔に URL をhttps://domain/ファイルシステム内の cgi スクリプト (DocumentRoot ディレクトリ外) にマップしたいのですが、ScriptAlias / /path/to/scriptうまくいかないようです。

答え1

このScriptAlias指令は次の 2 つのことを行います。

  • 最初のものは基本的にディレクティブと同じでAlias、通常は 内のディレクトリではないファイル システム パスに URL をマップしますDocumentRoot
  • 2 つ目は、そのディレクトリを CGI スクリプトを含むディレクトリとしてマークすることです。

CGI スクリプトがすでに にある場合、機能DocumentRootは必要なくAlias、 を使用するScriptAlias必要もありません。 で実行される 2 番目の手順のみを実行する必要があります。

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

関連情報