Hi Team,

We are facing issues with rewrite rule, post migrating from 2.4.59 to 2.4.62. 
We faced similar issues with 2.4.60/61 as well.

We are using below rewrite rules:

Below are set in httpd.conf file: -

RewriteRule ^--proto--/--error-- \
  /launchpad.html [PT,L]

RewriteRule ^(--proto--/.*)--default--      $1?default=true [QSA]
RewriteRule ^(--proto--/.*)          
$1/TVApp?launchpad=%{REQUEST_URI}&launchpad-member=%{SERVER_ADDR}:%{SERVER_PORT}&now=%{TIME}
 [QSA]
RewriteRule ^--proto--/(https?://.*)  $1                   [R=301,L]
RewriteRule ^--proto--/(.*)      https://$1            [R=301,L]

#
# the failsafe is in case nothing maps in the map file #
RewriteRule ^/(.*) /launchpad.html [PT,L]

Below are set in launchpad.conf file which is included in httpd.conf file: -

RewriteMap lowercase int:tolower
RewriteMap map-file     
txt:/prod/app/tv/dev_tv-launchpad_1.0.1_a/htdocs/maps/tv.dev.map

RewriteRule ^/maps/        -                [PT,L]

#
# TV Rules
#
# Note: This is being done in two stages to accomadate the ability
#    to default to the state entry if there is no entry for the
#    AU specified on the URL
#
#TEMPLATE?
RewriteCond %{REQUEST_URI}       ^/tv/(.*)/?                       [NC]
RewriteRule ^/                  ${map-file:${lowercase:%1}|--state--}

#TEMPLATE?
# /svp/STATE/AU
RewriteCond %{REQUEST_URI}       ^/tv/((([^/]+)/)?.*)/?                  [NC]
RewriteRule ^--state--                ${map-file:${lowercase:%3}|--default--}

#TEMPLATE?
RewriteCond %{REQUEST_URI}       ^/(tv)/                      [NC]
RewriteRule ^(.*)               --proto--/$1                      [C]
RewriteRule ^(--proto--)/--default--  $1/${map-file:default|--error--}

#TEMPLATE?
#rewrite entire datacenter if in map eg, az-site1 ->sv-site1
RewriteRule ^(--proto--)/(.*)([0-9]\.glb.hostname.net)/? 
$1/${map-file:${lowercase:$2}|$2}$3


While testing we observed that with 2.4.62 the rewrite output is having an 
additional '/' as highlighted below. Apart from that we don't see any error in 
trace log.

Could you please review this case and let us know if we need to adjust any 
configuration with 2.4.62 version.

2.4.62 (failing to error.html)

[Mon Aug 19 14:14:47.360450 2024] [rewrite:trace4] [pid 1177:tid 11999] 
mod_rewrite.c(505): [client <IP_Address>:<port>] <IP_Address> - - 
[cci-launchpad-dev.hostname.com/sid#700070][rid#7f4468002970/initial] 
RewriteCond: input='/tv/qa1' pattern='^/(tv)/' [NC] => matched
[Mon Aug 19 14:14:47.360468 2024] [rewrite:trace2] [pid 1177:tid 11999] 
mod_rewrite.c(505): [client <IP_Address>:<port>] <IP_Address> - - 
[cci-launchpad-dev.hostname.com/sid#700070][rid#7f4468002970/initial] rewrite 
'/tv-qa-stl-1-vip.hostname.com' -> '--proto--//tv-qa-stl-1-vip.hostname.com'

vs

2.4.59 (Working as expected)

[Fri Aug 16 13:10:17.778806 2024] [rewrite:trace4] [pid 7669:tid 
139952923162048] mod_rewrite.c(493): [client <IP_Address>:<port>] <IP_Address> 
- - [cci-launchpad-dev.hostname.com/sid#6fb2e0][rid#7f4934002970/initial] 
RewriteCond: input='/tv/qa1' pattern='^/(tv)/' [NC] => matched
[Fri Aug 16 13:10:17.778847 2024] [rewrite:trace2] [pid 7669:tid 
139952923162048] mod_rewrite.c(493): [client <IP_Address>:<port>] <IP_Address> 
- - [cci-launchpad-dev.hostname.com/sid#6fb2e0][rid#7f4934002970/initial] 
rewrite 'tv-qa-stl-1-vip.hostname.com' -> 
'--proto--/tv-qa-stl-1-vip.hostname.com'


Regards,
Dev

Reply via email to