Apache忽略了httpd.conf分配的路径

时间:2015-02-01 17:17:36

标签: apache cgi httpd.conf

在尝试解决我的cgi-bin上的路径错误时,我发现Apache正在错误的地方寻找它。

错误日志显示:     脚本未找到或无法统计:/ Library / Server / Web / Data / CGI-Executables

但是我的httpd.conf文件有:

ScriptAliasMatch ^/cgi-bin/((?!(?i:webobjects)).*$) "/Library/WebServer/CGI-Executables/$1"

    <Directory "/Library/WebServer/CGI-Executables">
        AllowOverride None
        Options None
        Require all granted
    </Directory>

默认情况下,这些路径位于httpd.conf中。 httpd.conf

中的/ Library / Server / Web / Data没有任何引用

如果我将整个CGI-Executables目录移动到/ Library / Server / Web / Data /一切正常。这很好,但我希望它是/ Library / WebServer /

什么会导致Apache忽略httpd.conf分配的路径?如何更正?

1 个答案:

答案 0 :(得分:0)

<强>解决 这是苹果公司的一大缺点。

在使用Apache的标题下,OS X服务器文档显示了来自/ Library / WebServer / CGI-Executables /的cgi。果然,有一个CGI-Executables文件夹就在他们应该说的地方。

在OS X Server的帮助模块中,对于cgi info,它会将您链接到.htaccess文件上的Apache教程。在那里,您可以学习编辑htaccess,为Apache提供所需的路径。但它永远不会奏效。

Apple从未分享过的东西是OS X Server拥有自己的特殊配置文件:httpd_server_app.conf。您可以在/ Library / Server / Web / Config / apache2 /中的Read Me.txt中找到有关它的信息。这是我在httpd_server_app.conf中找到的唯一参考,它是对不存在的/ Library / Server / Web / Data / CGI-Executables目录的唯一引用。

因此,OS X Server上的cgi-bin URL解决方案是为您的cgi脚本创建一个新文件夹/ Library / Server / Web / Data / CGI-Executables。或编辑cgi ScriptAlias和Directory路径以匹配您喜欢的内容,例如Apple引用其他地方的/ Library / WebServer / CGI-Executables。