2 variables inside if() ?

António P. P. Almeida appa at perusio.net
Fri Oct 22 21:42:20 MSD 2010


On 22 Out 2010 17h42 WEST, nginx-forum at nginx.us wrote:

> Hello,
>
> I'm trying to compare 2 variables, like so (I've made sure the
> variables match):
>
> [code]if ($arg_hash !~ $sha1) {
> ...
> }[/code]
>
> However in error.log it says:
> [code]*1 "$sha1" does not match
> "a78c3ecd2e349d1f1050fa555842a60b585489d8"[/code]
>
> I've tried swapping the variables over and the same error occurs, so
> it looks like the variable after the comparison character(s) is
> considered a string by nginx.

$sha1 is not set by Nginx during runtime. You've to set it in your
config:

Ex: set $sha1 a78c3ecd2e349d1f1050fa555842a60b585489d8

Then compare them in your conditional.

> Does anyone know of a way to do this? Or of a third party module
> which does this?

HTH,
--- appa



More information about the nginx mailing list