Tobia,<br>Thank a ton. This is interesting. I got to know that I'll anytime have only 4 Filters. So it eases my work. I can probably create 4 different location blocks<br><br>Anyways, thanks once again.<br><br>-<br>Harish<br>
<br><div class="gmail_quote">On Mon, Feb 1, 2010 at 8:04 PM, Tobia Conforto <span dir="ltr"><<a href="mailto:tobia.conforto@gmail.com">tobia.conforto@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div style="word-wrap: break-word;"><div><div>Harish Sundararaj wrote:</div><blockquote type="cite"><div class="im">I have a list which is something like this:<br>keyA : a1,a2<br>keyB : b1,b2<br>
keyC : c1, c2<br></div>the access URL will be <a href="http://example.com/results/myquery/keyB-keyD-keyK" target="_blank">http://example.com/results/myquery/keyB-keyD-keyK</a> <br><div class="im">
This should translate to /results?q=myquery&keyvals=b1,b2,d1,d2,k1,k2<br></div></blockquote><div><br></div><div>Here is one way to do it inside nginx. It's sub-optimal, as it sends several redirects back to the user (one for each key) but it's a start.</div>
<div><br></div><div>You are probably better off using something like the Perl module anyways.</div><div><br></div><div><div># map of key/value pairs</div><div>map $key $val {</div><div class="im"><div> keyA a1,a2;</div><div>
keyB b1,b2;</div></div><div> keyC c1,c2;</div><div>}</div><div><br></div><div><div># redirect for one key</div><div>location ~ ^/results/([^/]+)/([^-]+)$ {</div><div> set $query $1;</div><div> set $key $2;</div><div>
if ($arg_keyvals) { set $sep ","; }</div><div> rewrite ^ /results?q=$query&keyvals=$arg_keyvals$sep$val? permanent;</div><div>}</div><div><br></div><div># intermediate redirect for more than one key</div>
<div>location ~ ^/results/([^/]+)/([^-]+)-(.+)$ {</div><div> set $query $1;</div><div> set $keys $3;</div><div> set $key $2;</div><div> if ($arg_keyvals) { set $sep ","; }</div><div> rewrite ^ /results/$query/$keys?keyvals=$arg_keyvals$sep$val? permanent;</div>
<div>}</div><div><br></div><div><br></div></div></div><div><div><div>Tobia</div></div></div></div></div><br>_______________________________________________<br>
nginx mailing list<br>
<a href="mailto:nginx@nginx.org">nginx@nginx.org</a><br>
<a href="http://nginx.org/mailman/listinfo/nginx" target="_blank">http://nginx.org/mailman/listinfo/nginx</a><br>
<br></blockquote></div><br>