fastcgi & index
Maxim Dounin
mdounin at mdounin.ru
Thu Feb 13 12:34:30 UTC 2014
Hello!
On Wed, Feb 12, 2014 at 03:23:05PM -0800, Grant wrote:
> I've found that if I don't specify:
>
> index index.html index.htm index.php;
>
> in the server blocks where I use fastcgi, I can get a 403 due to the
> forbidden directory index. I would have thought 'fastcgi_index
> index.php;' would take care of that. If this is the expected
> behavior, should the index directive be added to the fastcgi wiki?
This is the expected and documented behaviour.
The "fastcgi_index" directive is to instruct a fastcgi backend
which file to use if a request with an URI ending with "/" is
passed to the backend. That is, it makes sense in a configuration
like this:
location / {
fastcgi_pass localhost:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
It doesn't make sense in configurations with only *.php file
passed to fastcgi backends though. E.g., in a configuration like
this it doesn't make sense and should be removed:
location ~ \.php$ {
fastcgi_pass localhost:9000;
# wrong: fastcgi_index doesn't make sense here
fastcgi_index index.php;
include fastcgi.conf;
}
In this case, normal index processing applies. It is explained in
details in an introduction article here:
http://nginx.org/en/docs/http/request_processing.html#simple_php_site_configuration
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list