Forum Discussion
iRule
Cirrus
3 years agoreplace 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...
- 3 years ago
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
MVP
3 years agoiRule I have made some slight modifications to the iRule but I don't think it will resolve your issue but are best practices.
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
}
}
If you can provide additional detail as to what exactly isn't working for the additional URLs we might be able to assist further.
Recent Discussions
DevCentral Quicklinks
* 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
Discover DevCentral Connects