ScriptAlias:如何将 DocumentRoot 标记为目标目录

ScriptAlias:如何将 DocumentRoot 标记为目标目录

我托管了一个 git apache 服务器,我需要使用 ScriptAlias 触发一个脚本。我想知道是否可以以这种方式使用 ScriptAlias,这样它只会在对 DocumentRoot 有 GET 请求时触发(例如https://domain):

ScriptAlias / /path/to/script

不幸的是,这不起作用,所以我的解决方法是使用

ScriptAlias /git /path/to/script

(git 只是一个占位符词)这意味着我的 git repo 位置将是有https://domain/git/foo/bar.git没有办法将其简化为https://domain/foo/bar.git

非常感谢

编辑:更加简洁 我想将 URL 映射https://domain/到文件系统中的 cgi 脚本(DocumentRoot 目录之外)。但ScriptAlias / /path/to/script似乎行不通。

答案1

ScriptAlias指令做了两件事:

  • 第一个本质上与指令相同Alias,它将 URL 映射到文件系统路径,该路径通常不是 中的目录DocumentRoot
  • 第二个是它将该目录标记为包含 CGI 脚本的目录。

当 CGI 脚本已经在中时,DocumentRoot您不需要该Alias功能,也不需要使用ScriptAlias,您只需要执行第二步,即使用:

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

相关内容