Forum Discussion
Fastidious
Altostratus
Jun 21, 2024Help with iRule
Good day all! I have the following iRule: when HTTP_REQUEST {
if { ([HTTP::host] eq "lists.example.com") and ([HTTP::uri] eq "/cgi-bin/wa?INDEX" || [HTTP::uri] eq "/cgi-bin/wa?MOD" || [HTTP::uri...
- Jun 21, 2024
You can negate that second IF as well to avoid the else
when HTTP_REQUEST priority 500 { if { (![class match -- [IP::client_addr] eq "LISTSERV-TST_Allowed_IPs"]) && !(([HTTP::host] eq "lists.example.com") && ([HTTP::uri] matches_glob "/cgi-bin/wa?SUBEDIT1*")) } { HTTP::redirect "https://www.google.com" } }
JRahm
Admin
Jun 21, 2024Hi Fastidious , untested, but I think this is close to what you're looking for:
when HTTP_REQUEST priority 500 {
if { ([HTTP::host] eq "lists.example.com") && ([HTTP::uri] matches_glob "/cgi-bin/wa?SUBEDIT1*") } {
if { ![class match -- [IP::client_addr] eq "LISTSERV-TST_Allowed_IPs"] } {
HTTP::redirect "https://www.google.com"
}
}
}
Fastidious
Altostratus
Jun 21, 2024Would something like this work?
when HTTP_REQUEST priority 500 {
if { ([HTTP::host] eq "lists.example.com") && ([HTTP::uri] matches_glob "/cgi-bin/wa?SUBEDIT1*") } {
return
} else {
HTTP::redirect "https://www.google.com"
}
if { [class match -- [IP::client_addr] eq "LISTSERV-TST_Allowed_IPs"] } {
return
}
}
- FastidiousJun 21, 2024
Altostratus
Or this, rather:
when HTTP_REQUEST priority 500 { if { ![class match -- [IP::client_addr] eq "LISTSERV-TST_Allowed_IPs"] } { if { ([HTTP::host] eq "lists.example.com") && ([HTTP::uri] matches_glob "/cgi-bin/wa?SUBEDIT1*") } { return } else { HTTP::redirect "https://www.google.com" } } }
I know we are close, so I am not certain on how to "wrap it up". 😅
- JRahmJun 21, 2024
Admin
You can negate that second IF as well to avoid the else
when HTTP_REQUEST priority 500 { if { (![class match -- [IP::client_addr] eq "LISTSERV-TST_Allowed_IPs"]) && !(([HTTP::host] eq "lists.example.com") && ([HTTP::uri] matches_glob "/cgi-bin/wa?SUBEDIT1*")) } { HTTP::redirect "https://www.google.com" } }
- FastidiousJun 21, 2024
Altostratus
Did you miss the ! on `!([HTTP::uri]...`?
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