Forum Discussion
rdessert_76127
Feb 16, 2012Nimbostratus
Force 301 redirect to https for multiple http URI's
I need to write an irule for use on my http virtual server that will perform a 301 redirect to https for two possible http URI's. I figured out how to do it for one URI, but am struggling with proper syntax.
URI's are /abc and /def
Does this look correct / best way to handle it?
when HTTP_REQUEST {
if { [string tolower [HTTP::uri]] contains "/abc" or "/def"}{
HTTP::respond 301 Location "https://[HTTP::host][HTTP::uri]"
}
}
Thanks for any input!
Rich
- Michael_YatesNimbostratusHi rdessert,
when HTTP_REQUEST { if { [string tolower [HTTP::uri]] starts_with "/abc" || [string tolower [HTTP::uri]] starts_with "/def" } { HTTP::respond 301 Location "https://[getfield [HTTP::host] : "1"][HTTP::uri]" } }
- rdessert_76127NimbostratusThe irule worked great. Thanks Michael!
- hooleylistCirrostratusHere's another option using a switch statement:
when HTTP_REQUEST { switch -glob [string tolower [HTTP::uri]] { "/abc*" - "/def*" { HTTP::respond 301 Location "https://[HTTP::host][HTTP::uri]" } } }
- rdessert_76127NimbostratusGreat, thanks Aaron.
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