Example 5: Redirect an External URL to an Internal URL

Example Inc. wants to hide its actual server room configuration from users to improve security on its Web servers.

To do this, you would create a rewrite action with the values as shown in the following tables. For request headers, the action in the table modifies www.example.com to web.hq.example.net. For response headers, the action does the opposite, translating web.hq.example.net to www.example.com.

Action Name Type of Rewrite Action Expression to choose target reference String expression for replacement text
Action-Rewrite-Request_Server_Replace REPLACE HTTP.REQ.HOSTNAME.SERVER “Web.hq.example.net”
Action-Rewrite-Response_Server_Replace REPLACE HTTP.RES.HEADER(“Server”) “www.example.com”

Next, you would create rewrite policies using the values shown in the following tables. The first policy checks incoming requests to see if they are valid, and if they are, it performs the Action-Rewrite-Request_Server_Replace action. The second policy checks responses to see if they originate at the server web.hq.example.net. If they do, it performs the Action-Rewrite-Response_Server_Replace action.

add rewrite action Action-Rewrite-Request_Server_Replace REPLACE HTTP.REQ.HOSTNAME.SERVER '"Web.hq.example.net"

add rewrite action Action-Rewrite-Response_Server_Replace REPLACE HTTP.RES.HEADER("Server") '"www.example.com"

add rewrite policy Policy-Rewrite-Request_Server_Replace HTTP.REQ.HOSTNAME.SERVER.EQ("www.example.com") Action-Rewrite-Request_Server_Replace NOREWRITE

add rewrite policy Policy-Rewrite-Response_Server_Replace HTTP.RES.HEADER("Server").EQ("web.hq.example.net") Action-Rewrite-Response_Server_Replace NOREWRITE

Finally, you would bind the rewrite policies, assigning each a priority of 500 because they are in different policy banks and therefore will not conflict. You should set the goto expression to NEXT for both bindings.

All instances of www.example.com in the request headers are now changed to web.hq.example.net, and all instances of web.hq.example.net in response headers are now changed to www.example.com.

Example 5: Redirect an External URL to an Internal URL

In this article