jrosales2000_10
Apr 29, 2011Nimbostratus
What did i do wrong with this irule for redirection based on url
Hi, i am trying to accomplish the following (we are running LTM 1600's version 9.4.6):
If a user enters url: oem1.website.com they are routed to oem1.website.com/oem1/vin.aspx
If a user enters url: oem2.website.com they are routed to oem2.website.com/oem2/vin.aspx
There is one Virtual Server (and one website in IIS) that serves the content for both of these oem's, however, based on the url entered, i want them each to go to their correct subfolder that contains pages that are skinned for their particular oem.
I have tried using the following irule:
when HTTP_REQUEST {
if {[string tolower [HTTP::host]] eq "oem1.website.com" } {
HTTP::uri "/oem1/vin.aspx"
}
if {[string tolower [HTTP::host]] eq "oem2.website.com" } {
HTTP::uri "/oem2/vin.aspx"
}
}
The problem i am having is that no matter what the user enters for a complete url (ie - oem1.website.com/oem1/images/image.jpg) it is routing the user back to that /oem1/vin.aspx.
On my initial shot at the irule, i wanted to have the irule work for all environments, (dev.oem1.website.com, qatest.oem1.website.com, etc), so in place of the EQUALS above, i used CONTAINS. I figured this is what was causing all traffic containing the url to be routed to the vin.aspx page. I thought maybe changing it to EQUALS would allow the rest of the traffic to flow appropriately, but it isn't working, so i didn't do something correctly.
I don't use irules too much, (i gleaned what i do know from these forums) :), any help would be appreciated! If i am off base on my approach, and you think another method would work better, i am open to suggestions!
Thanks!
Jodie
Edited to change equals to eq and to note that it is just one virtual server.