Hi,
I am using try_files in a subdirectory and I’m coming up with some
issues.
default
server
{
server_name localhost;
location ~ .php$
{
try_files $uri $uri/;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
location /devkit/
{
try_files $uri $uri/ @kohana;
}
location @kohana
{
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/devkit/index.php;
}
}
This URL works correctly,
http://www.domain.com/devkit/index.php/coaster/17/olympia-looping
but when I remove the index.php file I get :
The page you requested devkit/coaster/17/olympia-looping could not be
found.
but it should be coaster/17/olympia-looping instead.
Any ideas?
It’s probably matching the .php first. Put that in a location / block
so devkit can be found first.
On May 17, 2009, at 3:05 PM, Mathew D.
<[email protected]
That had no effect, any other ideas?
2009/5/17 Michael S. [email protected]
On Sun, May 17, 2009 at 11:05:23PM +0100, Mathew D. wrote:
location ~ .php$
{
try_files $uri $uri/;
Here “$uri/” is fallback parameter. However, this is not cause of the
problem.
try_files $uri $uri/ @kohana;
include fastcgi_params;
http://www.domain.com/devkit/index.php/coaster/17/olympia-looping
but when I remove the index.php file I get :
The page you requested devkit/coaster/17/olympia-looping could not be found.
but it should be coaster/17/olympia-looping instead.
You need something like this:
location /devkit {
try_files $uri $uri/ @kohana;
}
location @kohana {
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(/devkit)(/.*)$;
fastcgi_param SCRIPT_FILENAME
/usr/local/nginx/html/devkit/index.php;
fastcgi_param PATH_INFO $fastcgi_path_info;
}