Forum Discussion
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 example:
From: https://bbcc.com/abc/defg/v1/derh/user-cases/ profile/morning
To: https://bbcc.com/uvw/xyz/v1/derh/user-cases/ profile/morning
All Other URLs should not be alerted and sent to pool without modification in URI.
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} } }
- iRuleCirrus
I tried following iRule but it results in URIs starting with "/abc/defg/" working fine and all other URLs stopped working which are not starting with "/abc/defg/".
when HTTP_REQUEST { if {[HTTP::uri] starts_with "/abc/defg/"} { HTTP::uri [string map {"/abc/defg/" "/uvw/xyz/"}[HTTP::uri]] pool pool_web } }
iRule 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
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