Performance question regarding regex

Igor Sysoev igor at sysoev.ru
Fri Jul 30 11:01:28 MSD 2010


On Thu, Jul 29, 2010 at 07:44:54PM -0400, panni wrote:

> Hey, thank you for your answer.
> 
> try_files only seems to hit when a root directive is set in the config.
> try_files only works on /home/www$uri files, not on /www/html$uri
> files.
> Is this intended? How can I make it work when a file called
> /www/html/asdf.php is requested by /asdf.php?

         root /;
         try_files  home/www$uri www/html$uri  @ksphp;

but probably it's better to use:

  location = /asdf.php {
        fastcgi_pass  ...
        fastcgi_param  SCRIPT_FILENAME  /www/html$uri;
        ....
  }

> location / {
>             root /home/www;
>             try_files $uri "/www/html$uri" @ksphp;
> 
>             if ($request_filename ~* \.(js|css)$) {
>                 return 404;
>             }
> 
>             index index.php;
>             expires 30d;
>         }

Do not use "if ($request_filename":

location / {
    root /home/www;
    try_files $uri  @ksphp;

    index index.php;
    expires 30d;
}

location ~* \.(js|css)$ {
    return 404;
}


-- 
Igor Sysoev
http://sysoev.ru/en/



More information about the nginx mailing list