For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

isavic's avatar
isavic
Icon for Nimbostratus rankNimbostratus
Sep 29, 2020

Redirect for URL and URI in one Irule

I need to redirect one url called usparks.something.ca to https://something.ca/attractions.php and at same time usparks.something.ca/fr to https://something.ca/fr/attractions.php. My Irule looks like this:

when HTTP_REQUEST {

 

       if { [HTTP::host] equals "usparks.something.ca"} {

           HTTP::redirect "https://something.ca/attractions.php"

           #return

       }

       elseif {([string tolower [HTTP::uri]] equals "/fr") } {

   HTTP::redirect "https://something.ca/fr/attractions.php"

[HTTP::uri]

 }

}

 

But for some reason usparks.something.ca/fr still redirects to https://something.ca/attractions.php not https://something.ca/fr/attractions.php.

Please advise.

Thanks,

Igor

 

2 Replies

  • Hi Igor,

    You should add HTTP::uri equals "/" comparison. If not add, always "if statement" will run.

    when HTTP_REQUEST {
    	if { [HTTP::host] equals "usparks.something.ca" } {
    		if { [HTTP::uri] equals "/" } {
    			HTTP::redirect "https://something.ca/attractions.php"
    		}
    		elseif { [string tolower [HTTP::uri]] equals "/fr" } {
    			HTTP::redirect "https://something.ca/fr/attractions.php"
    		}
    	}
    }

    or

    when HTTP_REQUEST {
    	if { [HTTP::host] equals "usparks.something.ca" } {
    		switch [string tolower [HTTP::uri]] {
    			"/" { HTTP::redirect "https://something.ca/attractions.php" }
    			"/fr" { HTTP::redirect "https://something.ca/fr/attractions.php" }
    		}
    	}
    }