Forum Discussion
Nick_Coelho_338
Dec 21, 2006Nimbostratus
else procedure undefined?
i have what I think is a simple iRule (i am a complete novice mind you). i can not get the else command to work. gives the following eror no matter what i do. sorry if i am just dense
01070151:3: Rule [iRule1] error:
line 32: [undefined procedure: else] [else]
_______________________________________________________________________
iRule:
when HTTP_REQUEST {
switch -glob [string tolower [HTTP::uri]] {
"/affiliates" -
"/endpages" -
"/friends" -
"/images" -
"/img" -
"/inc" -
"/includes" -
"/maintenance" -
"/outage" -
"/popup" -
"/referral" -
"/sc" -
"/servicestudy" -
"/sitemap" -
"/thrivent" -
"/upgrade" -
"/userControls" {
pool Pool1
}
}
else
{HTTP::redirect "http://blahblah.com"}
}
- Deb_Allen_18Historic F5 AccountIn most tcl implementations both braces need to be on the same line with the "else", since the "else" is actually part of the "if" command.
Alternate F5 syntax:if { condition }{ code } else { code }
And unless your URIs consist only of the specified directories with no trailing path or filename, you will also need to wildcard your switch patterns to get the expected matches:if { condition }{ code } else { code }
HTHwhen HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/affiliates*" - "/endpages*" - "/friends*" - ...
- Deb_Allen_18Historic F5 Account(edited previous post for typos in code example - doh!)
- If what you were trying to do with the else is to provide a "default" clause for the switch statement (ie. everything that doesn't match one of your previous comparisons), then you can make use of the built-in "default" keyword in the switch statement. "else" is part of the "if" clause, not switch.
when HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/affiliates*" - "/endpages*" - "/friends*" - "/images*" - "/img*" - "/inc*" - "/includes*" - "/maintenance*" - "/outage*" - "/popup*" - "/referral*" - "/sc*" - "/servicestudy*" - "/sitemap*" - "/thrivent*" - "/upgrade*" - "/userControls*" { pool Pool1 } default { HTTP::redirect "http://blahblah.com" } } }
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