How to do location /test/place?id=2
J. Lewis Muir
jlmuir at imca-cat.org
Fri Oct 18 13:47:39 UTC 2019
On 10/18, P.V.Anthony wrote:
> On 18/10/19 5:26 am, Jeff Dyke wrote:
> > I know this is not an answer to your question, but it begs another,
> > mainly due to the if statement. How many of these are you going to
> > have? https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/
> >
> > You've likely considered this, but if not wanted to throw it out there.
> > Even if you are moving domains, could you create a separate route that
> > you could key off rather than arg_id?
>
> Oh no. I was not aware of the "if" danger. Thank you for bringing that up.
>
> I am not able to change the application. Is there another way without using
> "if"?
The "if" behavior is weird, so it's good to avoid it if you can, but
sometimes it really is the only way to do something. And at the top of
that "If Is Evil" page it says:
The only 100% safe things which may be done inside "if" in a location
context are:
* return ...;
* rewrite ... last;
And in your example, you were doing a return inside an "if" which is
noted as being safe in a location context.
Lewis
More information about the nginx
mailing list