Welcome! Log In Create A New Profile

Advanced

Re: URI re-mapping using try_files

Francis Daly
October 11, 2012 04:34PM
On Thu, Oct 11, 2012 at 03:59:24PM -0400, mrtn wrote:

Hi there,

> Thanks for introducing me to rewrite directive. Just to confirm, this is how
> I should use your rewrite:
>
> root /home/www/example;
>
> location /public/doc/ {
> rewrite (.*)/(.*) $1/$2/$2.html break;
> }

It can work outside of all locations, or else in the one location that
handles this request.

So this config can work.

> Ideally, for the other cases you raised, I want the following to happen:
>
> >http://www.example.com/public/doc/abc123
> >http://www.example.com/public/doc/abc123?para=nodata
>
> when the query string (e.g. ?para=blah) part is missing or incomplete, I
> want to serve a generic error page (e.g. /error.html)

The above rewrite pays no attention to query strings.

So you'll want to do something based on $arg_para -- maybe an "if"
or something involving "map".

I guess (without testing):

if ($arg_para != data) { return 404; }

inside that location{} would probably work.

> >http://www.example.com/public/doc/abc123/abc123.html
>
> when the user tries to access the actual html page directly, I want to block
> it by either returning a 404 or serving a generic error page as above

The above rewrite does that (assuming that the "rewritten" file is absent).

> >http://www.example.com/public/doc/one/two
>
> when the user queries an URI that has no corresponding .html file on the
> server, I want to simply return a 404.

The above rewrite does that; but which html file should it look for here?

/home/www/example/public/doc/one/two/two.html, or
/home/www/example/public/doc/one/two/one/two.html?

(As in: do you repeat everything after /public/doc, or do you repeat
just the final after-slash part?)

> Can all these be implemented using rewrite only? Thanks.

With the extra "if" above, I think so.

Your testing should be able to show any problems, or unexpected behaviour.

f
--
Francis Daly francis@daoine.org

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

URI re-mapping using try_files

mrtn October 11, 2012 09:19AM

Re: URI re-mapping using try_files

Francis Daly October 11, 2012 12:58PM

Re: URI re-mapping using try_files

mrtn October 11, 2012 03:59PM

Re: URI re-mapping using try_files

Francis Daly October 11, 2012 04:34PM

Re: URI re-mapping using try_files

mrtn October 11, 2012 05:22PM

Re: URI re-mapping using try_files

Francis Daly October 11, 2012 06:14PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 277
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready