nkroon1
Apr 22, 2020Cirrus
Solved
iRule Help - if specific URL, redirect, else display a maintenance page
Hello! I currently have a working maintenance page, however the customer wants it if you go to a specific URL, you get redirected, else you get the page.
Currently, I have been doing redirects for a bunch of URL's in the following way...
when HTTP_REQUEST {
set httppath [string tolower [HTTP::host][HTTP::uri]]
switch -glob $httppath {
"*example.com*" {
HTTP::redirect https://[string map {"example" "example.new.com"} $httppath] }
}
}
}
That irule has been working and have no issues. However, now we are trying to introduce a maintenance page. They want it to be where if you go to a specific site, you redirect, else everything hits the page. I've tried adding the following, but get syntax errors...
when HTTP_REQUEST {
if {set httppath [string tolower [HTTP::host][HTTP::uri]]
switch -glob $httppath {
"*example.com*" {
HTTP::redirect https://[string map {"example" "example.new.com"} $httppath] }
else {
{HTTP::respond 200 content [ifile get "page.html"] }
}
}
I've tried a few other iterations, however i'm stumped at this point and looking for help.
when HTTP_REQUEST { switch -glob -- [string tolower [HTTP::host][HTTP::uri]] { "*example.com*" { HTTP::redirect https://example.new.com[HTTP::uri] } default { HTTP::respond 200 content [ifile get "page.html"] } } }