I'm trying to make a website on my school's server, but they have PHP installed as CGI, so .php files can only run in the cgi-bin folder.
This is somewhat problematic if I want my index to be a .php file and not a .html, since it needs to be outside of the cgi-bin folder and in the root WWW folder.
Furthermore, it's an apache server, so I tried editing my .htaccess file only to realize i don't know where the php-cgi binary is (this is my school's server, after all, and I don't have permissions just to explore).
Is there any other way of getting the .php index file which is outside of the cgi-bin folder to work without having to do something ugly like make an index.html file in the root directory which redirects to a .php file within the cgi-bin folder?
Best Answer
You have a few options. If
mod_rewrite
is switched on, you can use that to rewrite requests to a path in your/cgi-bin/
.$_SERVER[]
will still contain the original request URI so that you can conditionally perform actions based on the requested path.Alternatively, if you’re dead set on using .htaccess to enable PHP files to be executed anywhere (which might not even be possible—httpd.conf specifies, via the
AllowOverride
directive, what .htaccess files can and can't do), then create a PHP file containingand place it in your
cgi-bin
directory, it will tell you all of the relevant details about that installation of PHP, (which should include the location of thephp-cgi
executable).