Not existant files passed to php backend
Igor Sysoev
is at rambler-co.ru
Thu Aug 21 13:00:57 MSD 2008
On Wed, Aug 20, 2008 at 06:57:52PM -0400, Sean Allen wrote:
> >>Our entire setup is built around these right now.
> >
> >Could you show example of the setup ?
> >
>
> there is a good bit of cruft in this as it has built up over 18 months
> and was started when i knew basically zip about nginx.
> its also very site specific ( our software does amusing things with
> urls... ), kind of the uri equivalent of how i abused strings
> in the if statements below to simulate 'and' for nginx if.
>
> that said, here are the important parts.... as noted, its all built
> around if statements... largely because
> this all is already inside location blocks ( i can provide more
> context if you need. )
>
> set $dynamic 0;
> set $handler "lp";
> set $real_file $request_filename;
>
> if ( $uri ~* ^/s-([^/]*)/(.*)$ )
> {
> set $has_lid 1;
> set $lid $1;
> set $handler $2;
> set $real_file $document_root/$handler;
> }
>
> # dynamics
> if ( !-e $real_file )
> {
> set $dynamic 1;
> }
>
> if ( -e $real_file/index.i )
> {
> set $dynamic 1;
> }
>
> if ( $real_file ~* \.(i|pl)$ )
> {
> set $dynamic 1;
> }
>
> # next 6 lines required if no site has setup any geotargeting
> if ( $geotarget = 0 )
> {
> set $geotarget 0;
> set $geotarget_domain 0;
> set $geotarget_lid 0;
> }
> set $dyn_geo "$dynamic:$geotarget";
> if ( $dyn_geo = '1:1' )
> {
> rewrite (.*) http://micro.$geotarget_domain/s-
> $geotarget_lid&subid=$lid/$handler redirect;
> break;
> }
>
> if ( $dynamic )
> {
> error_page 404 = @memcache;
> break;
> }
>
> if ( $has_lid )
> {
> rewrite ^(/s-[^/]*/)(.*)$ /$2;
> }
Your configuration is good in general.
The set's are intended for use in "if".
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list