iRule
Mar 08, 2023Cirrus
Solved
replace part of URI for specific URL and pass remaining
Dear Community, I need to replace only specific part of URI i.e "/abc/defg/" with "/uvw/xyz/" in a URL. All other URLs should not be altered. "/abc/defg/" will appear in the begning of URI For e...
- Mar 14, 2023
iRule It should be the following and any other additions can be added in a similar manner. You might consider speaking with the application team and have them perform the corrections on the server as this should only be done as a last resort in an iRule.
when CLIENT_ACCEPTED priority 500 { set DEFAULT_POOL [LB::server pool] } when HTTP_REQUEST priority 500 { if {[string tolower [HTTP::uri]] starts_with "/abc/defg/"} { HTTP::uri [string map {"/abc/defg/" "/uvw/xyz/"}[HTTP::uri]] pool pool_web } elseif {[string tolower [HTTP::uri]] starts_with "/123/456/"} { HTTP::uri [string map {"/123/456/" "/78/910/"}[HTTP::uri]] pool pool_web } elseif{[string tolower [HTTP::uri]] starts_with "/asdf-asdf/"} { HTTP::uri [string map {"/asdf-asdf/" "/lkjh-lkjh/"}[HTTP::uri]] pool pool_web } else { pool ${DEFAULT_POOL} } }