Forum Discussion
Ankur_5273
Jun 12, 2014Nimbostratus
Rewrite the content in URI with a short URL
Hi Experts
I need assistance on shortening of URL as follows
If a web page with following Source URL is browsed , then a part of URI (highlighted in bold) should be converted to "en" (whi...
- 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
nitass
Jun 22, 2014Employee
e.g.
config
root@(ve11a)(cfg-sync In Sync)(Active)(/Common)(tmos) list ltm virtual bar
ltm virtual bar {
destination 172.28.24.10:80
ip-protocol tcp
mask 255.255.255.255
pool foo
profiles {
http { }
tcp { }
}
rules {
qux
}
source 0.0.0.0/0
source-address-translation {
type automap
}
vs-index 41
}
root@(ve11a)(cfg-sync In Sync)(Active)(/Common)(tmos) list ltm pool foo
ltm pool foo {
members {
200.200.200.101:80 {
address 200.200.200.101
}
}
}
root@(ve11a)(cfg-sync In Sync)(Active)(/Common)(tmos) list ltm rule qux
ltm rule qux {
when HTTP_REQUEST {
if { [HTTP::host] ne "www.myweb.com" } {
return
}
switch -glob [HTTP::path] {
"/secureapp/connect/report_en/REP/*" {
HTTP::redirect "http://www.myweb.com[string map {/secureapp/connect/report_en/REP/ /en/} [HTTP::uri]]"
}
"/en/*" {
HTTP::uri [string map {/en/ /secureapp/connect/report_en/REP/} [HTTP::uri]]
}
default {
do nothing
}
}
}
}
trace
[root@ve11a:Active:In Sync] config ssldump -Aed -nni 0.0 port 80
New TCP connection 1: 172.28.24.1(46786) <-> 172.28.24.10(80)
1403433548.8492 (0.0022) C>S
---------------------------------------------------------------
HEAD /secureapp/connect/report_en/REP/XYZ HTTP/1.1
User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
Host: www.myweb.com
Accept: */*
---------------------------------------------------------------
1403433548.8494 (0.0002) S>C
---------------------------------------------------------------
HTTP/1.0 302 Found
Location: http://www.myweb.com/en/XYZ
Server: BigIP
Connection: Keep-Alive
Content-Length: 0
---------------------------------------------------------------
1403433548.8524 (0.0030) C>S
---------------------------------------------------------------
HEAD /en/XYZ HTTP/1.1
User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
Host: www.myweb.com
Accept: */*
---------------------------------------------------------------
New TCP connection 2: 200.200.200.14(46786) <-> 200.200.200.101(80)
1403433548.8687 (0.0160) C>S
---------------------------------------------------------------
HEAD /secureapp/connect/report_en/REP/XYZ HTTP/1.1
User-Agent: curl/7.15.5 (i686-redhat-linux-gnu) libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
Host: www.myweb.com
Accept: */*
---------------------------------------------------------------
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