Forum Discussion
irule redirect and switch -glob
Hey guys - trying to setup irule so we can redriect uri to servers.
how can i add the switch -glob in to this irules - or is there a better way of d0ing this?
Code when HTTP_REQUEST {
if { [HTTP::uri] == "/filetransfer" } {
pool mix_prod_v1_filetransfer
}
elseif { [HTTP::uri] == "/view.net" } {
pool mix_prod_v1_view
}
elseif { [HTTP::uri] == "/webimagedownloader/" } {
pool mix_prod_v1_webimage
}
else {
pool mix2prod.test_pool
} }
I gather you are trying to use partial matching with the -glob option. Try this...
when HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/filetransfer*" { pool "mix_prod_v1_filetransfer" } "*/view.net" { pool "mix_prod_v1_view" } "*/webimagedownloader/*" { pool "mix_prod_v1_webimage" } default { pool "mix2prod.test_pool" } } }I've included all three type of pattern matching. Adjust as needed.
item* -- starts with item *item -- ends with item *item* -- contains item
6 Replies
- The_Bhattman
Nimbostratus
Hi Daemien, Try the following
when HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/filetransfer" { pool mix_prod_v1_filetransfer } "/view.net" { pool mix_prod_v1_view } "/webimagedownloader/" { pool mix_prod_v1_webimage } default { pool mix2prod.test_pool } } }I hope this helps
-=Bhattman=-
- Kevin_Davies_40
Nacreous
I gather you are trying to use partial matching with the -glob option. Try this...
when HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/filetransfer*" { pool "mix_prod_v1_filetransfer" } "*/view.net" { pool "mix_prod_v1_view" } "*/webimagedownloader/*" { pool "mix_prod_v1_webimage" } default { pool "mix2prod.test_pool" } } }I've included all three type of pattern matching. Adjust as needed.
item* -- starts with item *item -- ends with item *item* -- contains item- The_Bhattman_16
Nimbostratus
Remember "-glob" switch allows the use of starts_with, ends_with, and contains. -=Bhattman=- - Kevin_Davies_40
Nacreous
I am not sure what you mean? Can you provide a brief example?
- The_Bhattman
Nimbostratus
You can't do /Filetransfer or Filetransfer/ or Filetransfer. without the "-glob" statement in the switch command.
The following is great article about IF, ELSEIF, and Switch functions
https://devcentral.f5.com/articles/irules-optimization-101-01-if-elseif-and-switch
-=Bhattman=-
- Kevin_Davies_40
Nacreous
If any of the above posts have provided a solution to your issue, please indicate so by clicking the tick to the left of them. This gives feedback and recognition to the volunteers who responded to your issue
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)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
