<div dir="ltr">You can also accomplish this without matching in a map:<div><br></div><div>map $pipe $dashed_param {</div><div>  default $arg_param-name;</div><div>}</div><div><br></div><div>(I tried a geo block first, but it expanded to a literal '$arg_param-name' for some reason)</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Nov 12, 2014 at 5:43 PM, Francis Daly <span dir="ltr"><<a href="mailto:francis@daoine.org" target="_blank">francis@daoine.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Wed, Nov 12, 2014 at 03:38:03AM -0500, sudarshan wrote:<br>
<br>
Hi there,<br>
<span class=""><br>
> If query parameters in the request looks like this<br>
><br>
> /something.cgi?param_name=1&param-name=2<br>
><br>
> I can access 'param_name' as $arg_param_name. How do I access 'param-name'<br>
> though? $arg_param-name will not work since as far as nginx is concerned the<br>
> variable name ends at $arg_param. Is there a workaround for this case? Has<br>
> anyone else run into a similar problem?<br>
<br>
</span>If you want to avoid embedded languages, you could match-and-extract<br>
from $args, either with a map or an if, to set your variable name to<br>
the matching value in "&?param-name=([^&]*)".<br>
<br>
But it might be less work to change the input to restrict itself to<br>
nginx-friendly characters.<br>
<span class="HOEnZb"><font color="#888888"><br>
        f<br>
--<br>
Francis Daly        <a href="mailto:francis@daoine.org">francis@daoine.org</a><br>
</font></span><div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://mailman.nginx.org/mailman/listinfo/nginx" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx</a><br>
</div></div></blockquote></div><br></div>