Forum Discussion
Redirect/URI change based on numeric variable
I've had what I think is an interesting customer request. Although this may be a simple redirect it seems more complex and haven't been able to put all the pieces together. The customer has a URL:
https://x.123.com/123.asp?r=&p=https%3A//site.com/&llactid=34567&llnocookies=undefined
There is a distinct ID in URIs, 34567 in this case, and we wish all IDs greater than 29999 but not equal to 30484 to be altered and redirected to:
https://y.abc.com/trackalyze.asp?r=&p=https%3A//site.com/&llactid=34567&llnocookies=undefined
in order to route/balance this traffic as it hits BigIP. All IDs below that threshold would remain unchanged. Is a policy best for this or can this be done syntactically in an iRule? I've been trying simple if-then [HTTP::uri] logic but not sure how to account for the numeric variable and hitting deadends. I guess anything can be done. Many thanks!
x <= 29999 including 30484 go to site A/uri
x > 29999 /= 30484 go to site B/uri
This should work:
when HTTP_REQUEST { if { ([HTTP::host] eq "x.123.com") && [HTTP::uri] starts_with "/123.asp" } { set llactid [URI::query [HTTP::uri] "llactid"] if { ($llactid ne 30484) && $llactid > 29999 } { HTTP::redirect "https://y.abc.com/trackalyze.asp?r=&p=https%3A//site.com/&llactid=$llactid&llnocookies=undefined" } } }
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com