Rewrite problem http://x.x.x.x/folder_name/index.php/css/first.css
    Francis Daly 
    francis at daoine.org
       
    Mon Nov  7 19:42:11 UTC 2011
    
    
  
On Mon, Nov 07, 2011 at 11:17:14AM -0500, mikolajj wrote:
Hi there,
> Apache and lighttpd can use URL
> http://x.x.x.x/folder_name/index.php/css/first.css as
> http://x.x.x.x/folder_name/index.php with REQUEST_URI part =
> "/css/first.css" - this is handle by PHP and processed along...
> 
> Nginx is trying to open index.php as folder an of course 404 is
> thrown...
Yes, that's how it is frequently configured by default.
You'll want to configure it to match your application.
>                 location ~ .php$ {
>                   fastcgi_pass   127.0.0.1:9000;
>                   fastcgi_index  index.php;
>                   fastcgi_param  SCRIPT_FILENAME
> /home/main-www$fastcgi_script_name;
>                   include fastcgi_params;
>                 }
That location matches urls that end in "php". Your url is
/folder_name/index.php/css/first.css, which doesn't end in php,
so you'll want to use some location setting that matches that url --
perhaps "starts with /folder_name/index.php/" will be best.
For testing, you could use "includes php", which would be
  location ~ php {}
but that is unlikely to be good for the live site.
Once you have the location definition correct, you'll want to use
fastcgi_split_path_info
http://wiki.nginx.org/HttpFcgiModule#fastcgi_split_path_info
and then you'll probably want to set PATH_INFO or REQUEST_URI or whatever
your application requires, like in the example there.
> Can you point me to some clues or solution?
Hopefully the above makes sense.
Either change your current "php" location to match all urls you want
handled by php; or make a new one that matches this location.
And use fastcgi_split_path_info.
And the debug log can be very useful if you get lost.
Good luck,
	f
-- 
Francis Daly        francis at daoine.org
    
    
More information about the nginx
mailing list