Forum Discussion
Kai_Wilke
Mar 24, 2016MVP
Hi Warbie,
Very strange.. the provided iRule had somehow a "} then" missing. So try this updated iRule...
when HTTP_REQUEST {
STREAM::disable
if { [string tolower [HTTP::path]] ends_with ".aspx" } then {
set Insert_GA_Code "XYZ-YOUR_GA_ID-XYZ"
Note: Instead of removing the "Accept-Encoding" header, you could also use a compression profile on your virtual server
and make sure the "Keep Accept Encoding" is disabled. This would allow you to still compress the content before
sending it to the client.
HTTP::header remove "Accept-Encoding"
}
}
when HTTP_RESPONSE {
if { [info exists Insert_GA_Code] } then {
if { $debug } { log -noname local0. "$log_prefix Need to inject GA Tracking Code for the requested ressource." }
if { [HTTP::header value Content-Type] eq "text/html" } then {
if { $debug } { log -noname local0. "$log_prefix The \"Content-Type\" Headers containing \"text/html\". Preparing the XYZ specific GA Tracking Code for HTTP Response Injection." }
if { $debug } { log -noname local0. "$log_prefix Generating the XYZ specific GA Tracking Code." }
set ga_code_snipped "
"
if { $debug } { log -noname local0. "$log_prefix Setting up the SEARCH/REPLACE expression for GA-Code injection." }
STREAM::expression "@@$ga_code_snipped@"
if { $debug } { log -noname local0. "$log_prefix Reenabling Content Streaming Profile." }
STREAM::enable
unset -nocomplain Insert_GA_Code
unset -nocomplain ga_code_snipped
}
}
}
Cheers, Kai