Forum Discussion
alinayesina_102
Nov 15, 2011Nimbostratus
Dynamic URI rewrite
Where xxxxx is numeric variable
https://www.abc.com/uri/oldpage.aspx?xxxxxxx
redirect to
https://www.xyz.com/uri/newpage.aspx?xxxxxxx
Thank you for help!
- George_Watkins_Historic F5 AccountSomething like this should work:
when RULE_INIT { set static::old_host "www.abc.com" set static::old_path "/uri/oldpage.aspx" set static::new_host "www.xyz.com" set static::new_path "/uri/newpage.aspx"}when HTTP_REQUEST { if { ([HTTP::host] equals $static::old_host) && ([HTTP::path] equals $static::old_path) } { set n [HTTP::query] if there is a GET variable assignment, you'll need to query the value as such set n [URI::query [HTTP::uri] "some_get_var"] if { [string length $n] != 0 } { set redirect_url "http://${static::new_host}${static::new_path}?${n}" HTTP::redirect $redirect_url log local0. "Redirected client [IP::remote_addr] to $redirect_url" } }}
- nitassEmployeejust another example.
[root@ve1023:Active] config b virtual bar list virtual bar { snat automap pool foo destination 172.28.65.152:https ip protocol tcp rules myrule profiles { clientssl { clientside } http {} tcp {} } } [root@ve1023:Active] config b rule myrule list rule myrule { when HTTP_REQUEST { if {[string tolower [HTTP::host]] equals "www.abc.com"}{ if {[string tolower [HTTP::uri]] contains "oldpage.aspx"}{ HTTP::respond 302 noserver Location "https://www.xyz.com[string map -nocase {"oldpage.aspx" "newpage.aspx"} [HTTP::uri]]" } } } } [root@ve1023:Active] config curl -Ik https://www.abc.com/uri/oldpage.aspx?12345 HTTP/1.0 302 Found Location: https://www.xyz.com/uri/newpage.aspx?12345 Connection: Keep-Alive Content-Length: 0
Recent Discussions
Related Content
DevCentral Quicklinks
* 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
Discover DevCentral Connects