try-files and Gallery3 rewriting

Igor Sysoev igor at sysoev.ru
Thu Jun 9 11:39:55 MSD 2011


On Wed, Jun 08, 2011 at 11:43:16PM +0200, Andreas Lehr wrote:
> 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?

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 Sysoev



More information about the nginx mailing list