Forum Discussion
Feb 05, 2010
One Vs for Redirects
This should be an easy one..
I want to use one VS for a bunch of redirects, a catch all of sorts.. If for some reason this is a bad idea just let me know.
The redirect on...
hoolio
Cirrostratus
Feb 19, 2010The solution Matt suggested was to create a datagroup containing the HTTP host names that the client would be making requests to. He then used string map to rewrite a static string from the requested hostname to a new value and send that new value in a redirect to the client.
Is that the basic function you're looking for? If so, have you been able to create the datagroup and iRule? Is the match found in the datagroup?
Can you try this version with logging added?
when HTTP_REQUEST {
Log the request details and class contents. Need to use $:: to reference the class name here.
log local0. "[IP::client_addr]:[TCP::client_port]: [HTTP::method] to [HTTP::host][HTTP::uri] with class: $::my_hosts_class"
Check if the requested host is in the my_hosts_class datagroup
if { [matchclass [HTTP::host] equals my_hosts_class] } {
log local0. "[IP::client_addr]:[TCP::client_port]: Matched!"
HTTP::redirect http://[string map -nocase {"www" "my"} [HTTP::host]][HTTP::uri]
} else {
HTTP::respond 200 content " Sorry, no match "
log local0. "[IP::client_addr]:[TCP::client_port]: No match"
}
}
Make sure to update the iRule to use the name of the datagroup you've created. And I'd suggest not using a hyphen in the datagroup name as you'd then need to use curly braces to reference it.
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