Try-files and Gallery3 rewriting

Hiho,

I am currently running gallery3 on nginx/php-fpm. Works like a charm so
far.
But i’d like to get gallery3 also under the hood of try-files, but
didn’t
get it running up to now.

The working (and evil) if rewrite code looks like this:

 location /gallery3/ {
            if (!-e $request_filename) {
                 rewrite ^/gallery3/index.php/(.+)$

/gallery3/index.php?kohana_uri=$1 last;
rewrite ^/gallery3/(.+)$
/gallery3/index.php?kohana_uri=$1 last;
rewrite ^/gallery3/$
/gallery3/index.php?kohana_uri=/
last;
}

    }

Could anybody supply a correct try_files directive and explain how and
why
try_files should do the stuff in this case?

Thank you very much!

Andy

Andreas Lehr

mail: [email protected]

On 8 Jun 2011 22h43 WEST, [email protected] wrote:

rewrite ^/gallery3/index.php/(.+)$
/gallery3/index.php?kohana_uri=$1 last;
rewrite ^/gallery3/(.+)$
/gallery3/index.php?kohana_uri=$1 last;
rewrite ^/gallery3/$ /gallery3/index.php?kohana_uri=/
last;
}

}
Could anybody supply a correct try_files directive and explain how
and why try_files should do the stuff in this case?

Try this:

location /gallery3 {

location /gallery3(.*)$ {
try_files $uri /gallery3/index.php$1 /gallery3$1
/gallery3/index.php?kohana_uri=$1;
}

You need this here to make it work with the nested location.

location /gallery3/index.php {
(fastcgi or proxy_pass stuff here)
}
}

— appa

On 8 Jun 2011 23h26 WEST, [email protected] wrote:

location /gallery3/ {
Could anybody supply a correct try_files directive and explain how
and why try_files should do the stuff in this case?

Oops. There was a superfluous URI being tried. Here it is:

location /gallery3 {

location /gallery3(.*)$ {
try_files $uri /gallery3/index.php$1
/gallery3/index.php?kohana_uri=$1;
}

You need this here to make it work with the nested location.

location /gallery3/index.php {
(fastcgi or proxy_pass stuff here)
}
}

— appa

On Wed, Jun 08, 2011 at 11:43:16PM +0200, Andreas Lehr wrote:

                 rewrite ^/gallery3/index.php/(.+)$

try_files should do the stuff in this case?
It seems that “rewrite ^/gallery3/$ …” is not used since “/gallery3”
directory should exist.

The way I prefer to use:

location /gallery3/ {

   root  /path/to/gallery3;

   location /gallery3/index.php/(.+)$ {
       try_files       $uri    /gallery3/index.php?kohana_uri=$1;
   }

   location /gallery3(/.+)$ {
       try_files       $uri    /gallery3/index.php?kohana_uri=$1;
   }

   location = /gallery3/index.php {
       fastcgi_pass    backend;
       fastcgi_param   SCRIPT_FILENAME  /path/to/gallery3/index.php;
       include         fastcgi_params;
   }

}


Igor S.

On Thu, Jun 09, 2011 at 11:39:55AM +0400, Igor S. wrote:

            if (!-e $request_filename) {

Could anybody supply a correct try_files directive and explain how and why

       fastcgi_param   SCRIPT_FILENAME  /path/to/gallery3/index.php;
       include         fastcgi_params;
   }

}

Or better

location /gallery3/ {

    root  /path/to/gallery3;

    location /gallery3/(index\.php/)?(.+)$ {
        try_files       $uri    /gallery3/index.php?kohana_uri=$2;
    }

    location = /gallery3/index.php {
        fastcgi_pass    backend;
        fastcgi_param   SCRIPT_FILENAME 

/path/to/gallery3/index.php;
include fastcgi_params;
}
}


Igor S.

On Thu, Jun 09, 2011 at 12:10:51PM +0400, Igor S. wrote:

  •     location   /gallery3/(index\.php/)?(.+)$ {
    
  •     location ~ /gallery3/(index\.php/)?(.+)$ {
    


Igor S.