Forum Discussion
Frank_30524
Nimbostratus
Apr 16, 2009convert irule from 9.x to 4.x
I am relatively new to 4.x and need help converting a redirect irule.
Here is it in version 9.x.
when HTTP_REQUEST {
if { [HTTP::uri] eq "/" and [HTTP::host] eq "www.abc.abc.com" } {
HTTP::redirect "http://www.abc.abc.com:8000/bla/bla"
} else {
HTTP::redirect "https://[HTTP::host][HTTP::uri]"
use pool abc-pool
}
}
any help would be appreciated.
Thanks in advanced.
- The_Bhattman
Nimbostratus
You can rewrite it in the following ways:when HTTP_REQUEST { if { ([HTTP::uri] eq "/") and ([HTTP::host] eq "www.abc.abc.com") } { HTTP::redirect "http://www.abc.abc.com:8000/bla/bla" } else { HTTP::redirect "https://[HTTP::host][HTTP::uri]" pool abc-pool } }
when HTTP_REQUEST { if { ([HTTP::uri] eq "/") and ([string tolower [HTTP::host]] eq "www.abc.abc.com") } { HTTP::redirect "http://www.abc.abc.com:8000/bla/bla" } else { HTTP::redirect "https://[HTTP::host][HTTP::uri]" pool abc-pool } }
when HTTP_REQUEST { if { ([HTTP::host] eq "www.abc.abc.com") and ([HTTP::uri] eq "/") } { HTTP::redirect "http://www.abc.abc.com:8000/bla/bla" } else { HTTP::redirect "https://[HTTP::host][HTTP::uri]" pool abc-pool } }
- Frank_30524
Nimbostratus
Thanks, - hoolio
Cirrostratus
Those are 9.x formatted iRules, so they won't work in a 4.x unit. Also, for the else clause, do you want to redirect the client or select the pool? They are two distinct actions which can't both be done.if (http_uri == "/" and http_host == "www.abc.abc.com" ) { redirect_to "http://www.abc.abc.com:8000/bla/bla" } else { redirect_to "https://[HTTP::host][HTTP::uri]" OR use pool abc-pool }
Recent Discussions
Related Content
DevCentral Quicklinks
* 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
Discover DevCentral Connects