2011-02-01 66 views
3

我正在尝试发布hg存储库。我为多个存储库使用hg 1.7.3hgweb。在索引页上存储库名称被显示,但是当我点击它们时,我得到关于断开链接的信息。 Apache错误日志说:hgweb:存储库已显示,但无法访问

[Tue Feb 01 15:41:31 2011] [error] [client 10.13.3.64] script not found or unable to stat: /home/hg/webdir/index.cgienigma-reports, referer: http://hg.internal/ 

我试图访问路径http://hg.internal/enigma-reports/。任何想法,我可能做错了什么?

我的网站,提供外观配置是这样的:

<VirtualHost *> 
     ServerName hg.internal 
     ScriptAlias/"/home/hg/webdir/index.cgi/" 
</VirtualHost> 

之前有在路径中的index.cgi没有尾随斜线。为什么需要尾部斜线?现在它看起来像一个目录,而不是一个文件,看起来非常直观。

回答

5

您的ScriptAlias行可能是错误的 - 缺少一个结尾的斜杠。

这是必需的,因为ScriptAlias为第二部分替换了第一部分。

所以,当您的网址进来为:

http://hg.internal/enigma-reports/ 

和协议的阿帕奇的LOP和主机就变成:

/enigma-reports/ 

,然后ScriptAlias指令,匹配的第一个/和不更换,其前你的更新添加斜杠产量

/home/hg/webdir/index.cgienigma-reports/ 

这不是一个有效的脚本。

然而,随着放到新斜线的置换为:

/home/hg/webdir/index.cgi/enigma-reports/ 

其中到PATH_INFO CGI变量,这是剧本看什么变成engigma-reports/