php and locations with regex (round 2)
Igor Sysoev
is at rambler-co.ru
Tue Oct 23 20:34:09 MSD 2007
On Tue, Oct 23, 2007 at 02:26:10PM -0200, Alejandro Vartabedian wrote:
> ;-) i tried something like this before posting the last mail, but i
> think this mixture is out of context (somebody correct me please), it's
> a rewrite module directive, and fastcgi params doesn't fit in it (yet ;).
>
> i think i'm out of luck with the simplification/generalization of the
> config directives i pretend.
>
> thank you all, i'm learning a lot about nginx...
You may use:
location ~ \.php$ {
fastcgi_pass ...
...
}
location ~ ^/(app1|app2)/ {
root ...
...
}
It's better do not use "if".
Try to route request via locations only.
If you want to pass non-existent files to FastCGI/proxy it's better to use:
location / {
root ...
error_page 404 = @fallback;
}
location @fallback {
fastcgi_pass ...
...
}
> Grzegorz Nosek escribi??:
> > 2007/10/23, Alejandro Vartabedian <lists at webservice.com.uy>:
> >
> >> well, doing this work:
> >>
> >> location ~ /(app1|app2)/ {
> >> root /home/website/beta.ws/webroot/;
> >> index index.php index.html index.htm;
> >>
> >
> > if (!-f $request_filename) {
> >
> >
> >> fastcgi_pass 127.0.0.1:8888;
> >>
> >
> > }
> >
> >
> >> fastcgi_index index.php;
> >> fastcgi_param SCRIPT_FILENAME
> >> /home/website/beta.ws/webroot$fastcgi_script_name;
> >> include /etc/nginx/fastcgi_params;
> >> }
> >>
> >> but i'm charging to php to serve _all_ the data, dynamic and static one
> >> (correct?)
> >> is there a way to filter inside the location the php-cgi directives to
> >> serve directly the static content and avoid overcharging php?
> >> thanks.
> >>
> >
> > Try wrapping fastcgi_pass in an `if' block, like above. Please check
> > the variable name as I'm not 100% sure about it right now.
> >
> > Best regards,
> > Grzegorz Nosek
> >
>
>
>
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list