Forum Discussion

VS's avatar
VS
Icon for Nimbostratus rankNimbostratus
Jul 10, 2020

redirect with variable uri

Hi,

 

Newbie to F5 working on my first irule and already stuck. I have an irule similar to below which works. But now need to modify it with part of the URI "123456" being variable and redirected to the corresponding value. Any suggestions would be greatly appreciated!

 

 

when HTTP_REQUEST {

if { ([HTTP::host] contains "website1") and ([string tolower [HTTP::uri]] starts_with "/test1/download/?uri=123456&t=record&lang=ln_english&mbd=false") } {

HTTP::redirect ""http://website2.com/test/Record/123456/File/Document""

}

else { pool POOL1 }

}

 

  • Hello VS.

    Try this.

    when HTTP_REQUEST {
    	set uri_param [URI::query [HTTP::uri] uri]
    	if { ([HTTP::host] contains "website1") and ([string tolower [HTTP::uri]] starts_with "/hptrimwebclient/download/") } {
    		HTTP::redirect "http://website2.com/CS/HPRMServiceApi/Record/$uri_param/File/Document"
    	}
    	else { pool POOL1 }
    }

    Regards,

    Dario.

  • Hello VS.

     

    You need to clarify better what you want to achieve.

    Some example would be nice.

     

    Regards,

    Dario.

    • VS's avatar
      VS
      Icon for Nimbostratus rankNimbostratus

      Hi Dario!

       

      I am trying to redirect :

      http://website1/hptrimwebclient/download/?uri=123456&t=record&lang=ln_english&mbd=false

       

      to:

      http://website2.com/CS/HPRMServiceApi/Record/123456/File/Document

       

      However 123456 above is a variable number and would need to be redirected to the corresponding URL with the same number. So that if the above example changes to:

      http://website1/hptrimwebclient/download/?uri=987654&t=record&lang=ln_english&mbd=false

       

      Then it would get redirected to:

      http://website2.com/CS/HPRMServiceApi/Record/987654/File/Document

       

      Thank you! 

      • Hello VS.

        Try this.

        when HTTP_REQUEST {
        	set uri_param [URI::query [HTTP::uri] uri]
        	if { ([HTTP::host] contains "website1") and ([string tolower [HTTP::uri]] starts_with "/hptrimwebclient/download/") } {
        		HTTP::redirect "http://website2.com/CS/HPRMServiceApi/Record/$uri_param/File/Document"
        	}
        	else { pool POOL1 }
        }

        Regards,

        Dario.