Technical Forum
Ask questions. Discover Answers.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to remove from path first segment on F5

Sunder
Nimbostratus
Nimbostratus

Hello I have problem to implement solution as above in topic.

 

I have URL: https://1234.com/en-gb/cat/dog and I want from path remove first segment "en-gb" and put rest of the path to redirect

 

when HTTP_REQUEST {

if { ([string tolower [HTTP::path]] starts_with "/en-gb")

HTTP::redirect "https://zoo.com/london/en-gb/apps/tickets [string tolower [URI::path [HTTP::uri] 2]]"

}

}

 

Problem is that URI::path is not working and F5 probably is not reading it as function (HTTP has purple color, so it is correct).

Is it possible to do it in different way to manipule segments belong to path variable?

1 REPLY 1

Simon_Blakely
F5 Employee
F5 Employee

Well, you have a problem with the syntax of the if conditional, so this breaks the parsing of the TCL and the syntax highlighting.

Also, your HTTP::redirect target is wrong - you will end up with a space in the location, which is not legal.

 

As always, start with some logging ...

when HTTP_REQUEST { log local0. "path is [string tolower [HTTP::path]]" if { ([string tolower [HTTP::path]] starts_with "/en-gb") } { log local0. " uri is [string tolower [HTTP::uri]], path from 2nd element is [string tolower [URI::path [HTTP::uri] 2]]" HTTP::redirect "https://1234.com/london/en-gb/apps/tickets[string tolower [URI::path [HTTP::uri] 2]]" } }