我托管了一个 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>