can variables be used in regular expressions?

Maxim Dounin mdounin at
Thu Jul 27 10:31:29 UTC 2017


On Thu, Jul 27, 2017 at 03:55:40AM -0400, foxgab wrote:

> i want to change the redirect location URI protocol to https if that is
> using, so i tried to configure like this:
>   proxy_redirect      ~*^http://$host(/.*)?$ $scheme://$host$1;
> but that didn't work, so i change it to:
>   proxy_redirect      http://$http_host $scheme://$http_host;
> then, it works. I suspect that the variable in regular expressions is treat
> as a string, hence my former directive failed, am I right?
> Is there any way to make variables effect in regular expressions?

No.  Regular expressions are compiled during configuration 
parsing, and using variables in them is not possible.

Maxim Dounin

More information about the nginx mailing list