Forum Discussion

F5_Freek_243545's avatar
F5_Freek_243545
Icon for Nimbostratus rankNimbostratus
Apr 12, 2017

URI rewrite using string range??

Hi Friends,

I have a requirement to rewrite a URI which contains dynamic value. Can we do that using string range within an irule? Can you help?

Requirement: I have an https URL (https://xyz.com/Mainboard/OOTW_SYSOPRSA) which has

/Mainboard/
static value and
OOTW_SYSOPRSA
dynamic. Can we get this rewrite using an irule like this (
https://xyz.com/Mainboard/rl?uid=OOTW_SYSOPRSA
) ??

I want to add rl?uid= in between the URI.

Is it possible?

3 Replies

  • Hi,

    you can try :

    when HTTP_REQUEST {
        if {[URI::path [HTTP::uri]] equals "/Mainboard/"]} {
            HTTP::uri "/Mainboard/rl?uid=[URI::basename [HTTP::uri]]"
        } 
    }
    
  • Hi Jason, we can also use string range as asked:

    HTTP::uri "/Mainboard/rl?uid=[string range [HTTP::uri] 11 end]"
    
  • Hi,

    you can also use :

    when HTTP_REQUEST {
        if {[scan [HTTP::uri] {/Mainboard/%[^/]/%[^/]} dyn_value garbage] == 1 } 
            HTTP::uri "/Mainboard/rl?uid=$dyn_value"
        } 
    }