Forum Discussion
replace part of URI for specific URL and pass remaining
- 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} } }
Paulius The iRule provided by you worked fine with Thanks but application team has now enhanced the requirment for us to it achieve from f5 iRule.
Enhanced requirement is as following
Replace URI keywords
FROM: https://bbcc.com/abc/defg/v1/derh/user-cases/profile/morning TO: https://bbcc.com/uvw/xyz/v1/derh/user-cases/profile/morning
OR
FROM: https://bbcc.com/123/456/v1/derh/morning/evening/night TO: https://bbcc.com/78/910/v1/derh/morning/evening/night
OR
FROM: https://bbcc.com/asdf-asdf/school/college/university TO: https://bbcc.com/lkjh-lkjh/school/college/university
All Other URLs should not be alerted and sent to pool without modification in URI.
Please help in achiveing this.
Regards
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}
}
}
- iRuleApr 10, 2023Cirrus
The above iRule logic worked
Thank you
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