can variables be used in regular expressions?

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


Hello!

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
http://nginx.org/


More information about the nginx mailing list