01-Aug-2021 11:34
Dear Beloved Community,
I have a requirement to fulfill in LTM as below for which I need your support to provide me an iRule.
Client requests containing any URIs should be redirected as below
https://abc.com redirect to https://xyz.com
But If client requests contains any of following URIs then do not perform redirection to https://xyz.com
https://abc.com/morning
OR
https://abc.com/afternoon
OR
https://abc.com/night
OR
https://abc.com/school
OR
https://abc.com/leadership
Your Sincerely
02-Aug-2021
15:01
- last edited on
04-Jun-2023
19:21
by
JimmyPackets
Hi,
when HTTP_REQUEST {
if { [HTTP::host] equals "abc.com" } {
switch [string tolower [HTTP::uri]] {
"/morning" -
"/afternoon" -
"/night" -
"/school" -
"/leadership" { }
default {
HTTP::redirect https://xyz.com[HTTP::uri]
return
}
}
}
}
02-Aug-2021 15:23
Hi Enes,
Thank you for your input.
I have tested this iRule but all the URLs including "/morning" , "/afternoon" , "/night" , "/school" , "/leadership" are being redirected while the requirement is few URLs should not redirect and the remaining all other should redirect.
02-Aug-2021
15:31
- last edited on
04-Jun-2023
19:21
by
JimmyPackets
Do the urls start with "/morning", "/afternoon", "/night", "/school", "/leadership" or are they exactly equals?
when HTTP_REQUEST {
if { [HTTP::host] equals "abc.com" } {
switch -glob [string tolower [HTTP::uri]] {
"/morning*" -
"/afternoon*" -
"/night*" -
"/school*" -
"/leadership*" {
log local0. "not redirect - uri: [HTTP::uri]"
}
default {
log local0. "redirect - uri: [HTTP::uri]"
HTTP::redirect https://xyz.com[HTTP::uri]
return
}
}
}
}
Can you investigate the ltm logs?
02-Aug-2021 16:06
The URLs are exactly same. So I am still using the first iRule, which you provided. Any idea how we can fix it. I am searching LTM logs in GUI by filtering logs with VS name but no logs are appearing.
02-Aug-2021
16:31
- last edited on
04-Jun-2023
19:21
by
JimmyPackets
when HTTP_REQUEST {
log local0. "vs: [virtual name] uri: [HTTP::uri] host: [HTTP::host]"
if { [HTTP::host] equals "abc.com" } {
switch [string tolower [HTTP::uri]] {
"/morning" -
"/afternoon" -
"/night" -
"/school" -
"/leadership" {
log local0. "not redirect - vs: [virtual name] uri: [HTTP::uri]"
}
default {
log local0. "redirect - vs: [virtual name] uri: [HTTP::uri]"
HTTP::redirect https://xyz.com[HTTP::uri]
return
}
}
}
}
You can use the following command to filtering.
tail -f /var/log/ltm | grep irulename
02-Aug-2021 17:00
I typed below command in BIG-IP CLI and started the transaction in the browser i.e https://abc.com/morning but it got redirect to to https://xyz.com. In the CLI no any output of logs is generated.
tail -f /var/log/ltm | grep test_dev