IRULE - redirect URI
my requiremnet is if URI is something like /business/car/truck it shoud look for the "business " and change it as /company/car/truck..
$Path_proxy= company
when HTTP_REQUEST {
set http_hostname [getfield [HTTP::host] : 1]
set name [class match -value -- $http_hostname equals /DG_Test_i]
set lname [class match -value -- $Envname equals /DG_Test_i]
set proxy [class match -value -- $Poolname equals /DG_Test_i]
log local0. " name is $name "
log local0. " lname is $lname "
log local0. " proxy is $proxy "
if { [HTTP::uri] starts_with "/business"} {
HTTP::uri [string map {"/bsuiness/" $Path_proxy}[HTTP::uri]]------------->NOT working (path_proxy = /company)
HTTP::uri [string map {"/bsuiness/" "/company"}[HTTP::uri]]------------->working
}
}
verified with logs ..proxy variable is assigned with value "/company"
when i use direct content its working as expected whereas when i call the same value with variable($proxy) its not working.
Is this more or less what you're iRule looks like?
when HTTP_REQUEST { set Path_proxy "/company/" set http_hostname [getfield [HTTP::host] : 1] set name [class match -value -- $http_hostname equals /DG_Test_i] set lname [class match -value -- $Envname equals /DG_Test_i] set proxy [class match -value -- $Poolname equals /DG_Test_i] log local0. " name is $name " log local0. " lname is $lname " log local0. " proxy is $proxy " if { [HTTP::uri] starts_with "/business" } { HTTP::uri [string map [list "/business/" ${Path_proxy}] [HTTP::uri]] } }