Forum Discussion
Irule to redirect traffic based on path and uri
I have to redirect some traffic based on path and other based on uri. The irule should look something like this, but it´s not working. I should get working something like I post below. Any help?
when HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/bla/blabla.gif" { pool pool-frontend } if { [HTTP::path } "/bla*" { pool pool-frontend2 } .... .... ....
Thanks in advance and regards, Pablo.
3 Replies
- jgranieri
Nimbostratus
Why don't you use LTM policies, essentially F5 created these to make http parsing easy and not to need to code an irule... take a look its pretty self explanatory Your question is a bit vague, but this might push you in the right direction.
when HTTP_REQUEST { Set a variable to control if a pool has been chosen or not. set chosen 0 switch [string tolower [HTTP::uri]] { "/bla/blabla.gif" { set chosen 1; pool pool-frontend } } Check if the switch has chosen a pool if { $chosen != 1 } { if { [HTTP::path] starts_with "/bla" } { pool pool-frontend2 } else { pool default_pool } } }Please note that I have not tested the rule myself.
/Patrik
- giltjr
Nimbostratus
Why not use the switch function for it all. I believe the switch command uses the first match so you could do:
when HTTP_REQUEST { switch [string tolower [HTTP::uri]] { "/bla/blabla.gif" { pool pool-frontend } "/bla*" {pool pool-frontend2} default {pool default} } }
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