ScriptAlias: Como marcar DocumentRoot para um diretório de destino

ScriptAlias: Como marcar DocumentRoot para um diretório de destino

Estou hospedando um servidor git Apache e preciso acionar um script com ScriptAlias. Eu queria saber se era possível usar o ScriptAlias ​​desta forma, então ele é acionado quando há uma solicitação GET https://domainapenas para o DocumentRoot (por exemplo):

ScriptAlias / /path/to/script

Infelizmente, isso não funciona, então minha solução alternativa é usar

ScriptAlias /git /path/to/script

(git é apenas uma palavra de espaço reservado), o que significa que a localização do meu repositório git seria. https://domain/git/foo/bar.gitExiste uma maneira de simplificar isso https://domain/foo/bar.git?

Muito obrigado

Editar: para ser mais conciso Quero mapear a URL https://domain/para um script cgi em meu sistema de arquivos (fora do diretório DocumentRoot). E ScriptAlias / /path/to/scriptnão parece funcionar.

Responder1

A ScriptAliasdirectiva faz duas coisas:

  • A primeira é essencialmente igual à Aliasdiretiva, ela mapeia uma URL para o caminho do sistema de arquivos que normalmente não é um diretório no arquivo DocumentRoot.
  • A segunda é que ele marca esse diretório como contendo scripts CGI.

Quando os scripts CGI já estão no DocumentRootvocê não precisa da Aliasfuncionalidade e usar a ScriptAliasnão é necessário, você só precisa fazer o segundo que é feito com:

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

informação relacionada