Forum Discussion

Lakshmi_Sagar_S's avatar
Lakshmi_Sagar_S
Icon for Nimbostratus rankNimbostratus
Mar 02, 2015

How to create an irule for below mentioned requirement

HI All,   Can some one help me creating an irule for below mentioned request.   301 permanent redirect   http://mydomain.testdomain.com/ o http://testdomain.com/mydomain/    http://abc.t...
  • Brad_Parker_139's avatar
    Mar 02, 2015

    You could do something like this:

    when HTTP_REQUEST {
        switch [string tolower [HTTP::host]] {
            "mydomain.testdomain.com" {
                HTTP::respond "HTTP/1.1 301 Moved Permanently\r\nLocation:http://testdomain.com/mydomain/\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"
            }
            "abc.testdomain.com" {
                HTTP::respond "HTTP/1.1 301 Moved Permanently\r\nLocation:http://testdomain.com/abc/\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"
            }
            "def.testdomain.com" {
                HTTP::respond "HTTP/1.1 301 Moved Permanently\r\nLocation:http://testdomain.com/def/\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"
            }
            "testing.testdomain.com" {
                HTTP::respond "HTTP/1.1 301 Moved Permanently\r\nLocation:http://testdomain.com/testing/\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"
            }
        }
    }
    

    or like this depending on how dynamic you'd like your iRule to be.

    when HTTP_REQUEST {
        if { not ([HTTP::host] equals "testdomain.com") } {
            set myDomain [getfield [HTTP::host] "." 1]
            HTTP::respond "HTTP/1.1 301 Moved Permanently\r\nLocation:http://testdomain.com/$myDomain/\r\nConnection: close\r\nContent-Length: 0\r\n\r\n"
        }
    }