Forum Discussion
Rewrite the content in URI with a short URL
- Jun 12, 2014
I am unable to update my original post. Here is an updated version.
If you simply want to mask URL's then apply a STREAM profile with the following iRule.
when HTTP_REQUEST { log local0. "..in HTTP_REQUEST" no replacement for requests STREAM::disable disable compression server side HTTP::header remove "Accept-Encoding" } when HTTP_RESPONSE { log local0. "...in HTTP_RESPONSE" only replace text content if {!([HTTP::header value Content-Type] contains "text")}{ return} set search "" foreach pair [class get myclass] { set search "$search@[lindex $pair 0]@[lindex $pair 1]@" } log local0. "String replace=$search" STREAM::expression $search STREAM::enable }
Then create a string data class myclass as follows...
Name Value /secureapp/connect/report_en/REP /en /peter /pan
And get the following output from a logs
Rule /Common/myrule : ...in HTTP_REQUEST Rule /Common/myrule : ...in HTTP_RESPONSE Rule /Common/myrule : search=@/secureapp/connect/report_en/REP@/en@@/peter@/pan@
And the resulting web page...
It works! /en /pan
The stream profile by default works in both directions. Only through iRules can you control when it is applied. I you have seen in the first example I do this.
You apply the iRule to the resources section of your virtual server and you must add a stream profile to have access to the STREAM iRule commands. You can use the system default stream profile and you do not need to fill out any fields in the profile itself. The STREAM::expression command in the iRule does that for you. You add the profile in the advanced view of your virtual server properties. Note the iRule will not apply unless there is a stream profile attached.
In the data class I specified name and value. Name is your Search and and value is what it will be replaced with.
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