error_page and named locations
Igor Sysoev
is at rambler-co.ru
Thu Dec 11 17:18:51 MSK 2008
On Thu, Dec 11, 2008 at 02:56:16PM +0100, Jean-Philippe Moal wrote:
> Igor Sysoev a ??crit :
> >>>
> >>> I'm going to implement the non_existant_request_file directive to use
> >>> in similar configurations:
> >>>
> >>> location ~\.php$ {
> >>> non_existant_request_file @drupal;
> >>>
> >>> fastcgi_pass ..
> >>> }
> >>>
> >>> This directive test a request file existance before passing a request
> >>> to fastcgi/proxy.
> >>>
> >>> Could someone suggest better name ?
> >> Also I want to replace typcal mongrel configuration:
> >>
> >> with something like
> >>
> >> location / {
> >> match $request_filename
> >> $request_filename/index.html
> >> $request_filename.html;
> >> @mongrel;
> >> }
> >>
> >> like "index" directive.
> >>
> >> Or
> >>
> >> try $request_filename
> >> $request_filename/index.html
> >> $request_filename.html
> >> /some_fallback_url;
> >
> > The single directive can be used for Mongrel type configuration:
> >
> > location / {
> > file_match $uri $uri/index.html $uri.html
> > @mongrel;
> > }
> >
> > location @mongrel {
> > ...
> > }
> >
> > and Drupal/Joomla type configuration:
> >
> > location / {
> > file_match $uri @drupal;
> > # the same as
> > # error_page 404 = @drupal; log_not_found off;
> > }
> >
> > location ~ \.php$ {
> > file_match $uri @drupal;
> >
> > fastcgi_pass ...
> > fastcgi_param SCRIPT_FILENAME /path/to$script_filename;
> > }
> >
> > location @drupal {
> > fastcgi_pass ...
> > fastcgi_param SCRIPT_FILENAME /path/to/index.php;
> > }
> >
> > The file_match iterates parameters and changes URI to the first one
> > that matches filesystem. An @name matches always and is used as fallback.
> > All matches except fallback are handled in the same location context.
>
> I think "try" is a good name for this feature (which will certainly be _really_
> useful, thanks !).
How about "try_file $uri $uri/index.html ..." or "test_file $uri ..." ?
--
Igor Sysoev
http://sysoev.ru/en/
More information about the nginx
mailing list