网址重写问题

时间:2010-10-09 17:31:57

标签: python apache

我有一个CGI脚本(pwyky),我称之为index.cgi,放在目录wiki /中,并在我访问localhost / wiki时设置Apache调用localhost / wiki / index.cgi。

我在尝试使用此应用程序时遇到错误 - 它会创建一个包含“http:// localhost / wiki / @ edit / index”等链接的页面,但是当我点击该链接时,Apace是试图将“wiki / @ edit / index”作为文件提供。我怀疑我需要让Apache将/ @ edit / index传递给index.cgi。

特别是,通过index.cgi查找,它在REQUEST_URI环境变量中寻找像“@edit”这样的字符串。

知道如何解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您需要显示您的apache配置以确定,但似乎Apache实际上并没有使用mod_cgi来提供index.cgi脚本。在您的配置中应该有类似'LoadModule mod_cgi'的东西。它应该是未注释的(即,它不应该在行的开头有'#')。

如果你想测试这个,那么写一个'Hello World'cgi脚本并把它(暂时)放在index.cgi的位置,看看你是否可以运行它。让我们知道结果。

答案 1 :(得分:0)

我发现了问题,原来这是通过RewriteEngine完成的。 Pwyky将.htaccess文件放在目录中,包含RewriteEngine的所有设置,但由于MacOS上默认情况下AllowOverride为“None”,因此忽略了它们。解决方案是将所有“AllowOverride”指令更改为“All”