PHP作为CGI二进制文件安装时,无法在根文件夹中执行index.php

我试图在我学校的服务器上创build一个网站,但是他们已经将PHP安装为CGI,所以.php文件只能在cgi-bin文件夹中运行。
如果我希望我的索引是一个.php文件而不是.html,这是有点问题,因为它需要在cgi-bin文件夹和根WWW文件夹之外。

此外,它是一个Apache服务器,所以我试图编辑我的.htaccess文件,只是为了实现我不知道在哪里的PHP-CGI二进制文件(毕竟,这是我学校的服务器,我没有权限只是为了探讨)。

有什么其他的方式让.cgi-bin文件夹以外的.php索引文件工作,而不必做一些丑陋的事情,比如在根目录下创build一个index.html文件,该文件redirect到cgi中的.php文件-bin文件夹?

你有几个select。 如果启用了mod_rewrite则可以使用它来将请求重写到/cgi-bin/的path。 $_SERVER[]仍将包含原始的请求URI,以便您可以根据请求的path有条件地执行操作。

或者,如果你使用.htaccess来设置PHP文件,那么你可以在任何地方执行PHP文件(这可能甚至是不可能的–httpd.conf通过AllowOverride指令指定了什么.htaccess文件可以或不可以),然后创build一个包含PHP的文件

 <?php phpinfo(); 

并把它放在你的cgi-bin目录下,它会告诉你所有关于PHP安装的相关细节(包括php-cgi可执行文件的位置)。

你可以创build一个带有元redirect的index.html文件,它不会清理URL,但至less可以工作。