Forum Discussion

cymru81's avatar
cymru81
Icon for Altocumulus rankAltocumulus
Dec 01, 2020

irule uri redirect help

Hi Im looking for help with an irule to achieve the following:

 

if someone visits https://www.site.com/abc/def or https://www.site.com/abc/def/ it redirects them to https://www.domain.com - we have the following irule in place but it doesnt capture the second uri with trailing '/' https://www.site.com/abc/def/

 

when HTTP_REQUEST {

 if { ([HTTP::host] equals "www.site.com") and ([HTTP::path] ends_with "/abc/def") } {

  HTTP::redirect https://www.domain.com

 }

}

 

Any help appreciated!

7 Replies

  • Hi cymru81,

    You should use starts_with instead of ends_with.

    When using starts_with, /abc/def/x path matches with condition.

    If you don't want redirect for /abc/def/x, you can use this iRule:

    when HTTP_REQUEST {
    	if { [HTTP::host] equals "www.site.com" } {
    		switch [HTTP::path] {
    			"/abc/def" -
    			"/abc/def/" { HTTP::redirect https://www.domain.com }
    		}
    	}
    }
    • cymru81's avatar
      cymru81
      Icon for Altocumulus rankAltocumulus

      Hi eaa

       

      Thanks for responding, unfortunately that still doesnt work when changing to starts_with

       

      We still want visitors to be able to navigate to /abc/ but with this irule applied its redirecting them to www.domain.com ?