cancel
Showing results for 
Search instead for 
Did you mean: 

Redirect for URL and URI in one Irule

isavic
Nimbostratus
Nimbostratus

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 2

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" } } } }

 

isavic
Nimbostratus
Nimbostratus

Thanks a lot it worked.

Igor