Forum Discussion
irule based om http request.
I got a requirement as below :
When client hits abc-test-domain.com --- should get translated to dc-abc-test-domain1.com. Could someone give me the syntax please for irule.
- oguzyCirrostratus
Hi,
when HTTP_REQUEST { if { [string tolower [HTTP::host]] equals "abc-test-domain.com" } { HTTP::respond 301 "Location" "http://dc-abc-test-domain1.com" } }
- Abhijith_SubbanNimbostratus
If, the listening and responding port is 8080 then during http response header. Can this be done :
when HTTP_REQUEST { if { [string tolower [HTTP::host]] equals "abc-test-domain.com" } { HTTP::respond 301 "Location" "[http://dc-test-domain1.com:8080 :8080"](http://dc-test-domain1.com:8080 :8080); } }
- oguzyCirrostratus
Yes, sure.
- THiNimbostratus
Just a note on the 301 redirect:
Instead of 301 Moved Permanently, I'd rather use 307 Temporary Redirect. Browsers may cache 301s indefinitely, and it may be difficult to remove the cache entry, if you need to modify the redirect location later on. Depending on browser, the 301 cache may persist over restarts..
Some may use 302 redirects, but 307 will also keep the original HTTP method (eg. GET, POST, HEAD), 302 may not.
So, I would try to avoid a 301 redirects, unless I were 100% sure of the need of permanently de-commissioning the old URL.
- oguzy_191375Nimbostratus
Hi,
when HTTP_REQUEST { if { [string tolower [HTTP::host]] equals "abc-test-domain.com" } { HTTP::respond 301 "Location" "http://dc-abc-test-domain1.com" } }
- Abhijith_SubbanNimbostratus
If, the listening and responding port is 8080 then during http response header. Can this be done :
when HTTP_REQUEST { if { [string tolower [HTTP::host]] equals "abc-test-domain.com" } { HTTP::respond 301 "Location" "[http://dc-test-domain1.com:8080 :8080"](http://dc-test-domain1.com:8080 :8080); } }
- oguzy_191375Nimbostratus
Yes, sure.
- THiNimbostratus
Just a note on the 301 redirect:
Instead of 301 Moved Permanently, I'd rather use 307 Temporary Redirect. Browsers may cache 301s indefinitely, and it may be difficult to remove the cache entry, if you need to modify the redirect location later on. Depending on browser, the 301 cache may persist over restarts..
Some may use 302 redirects, but 307 will also keep the original HTTP method (eg. GET, POST, HEAD), 302 may not.
So, I would try to avoid a 301 redirects, unless I were 100% sure of the need of permanently de-commissioning the old URL.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com