Index: openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl,v diff -u -r1.153.2.37 -r1.153.2.38 --- openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl 12 Jun 2021 18:01:33 -0000 1.153.2.37 +++ openacs-4/packages/acs-tcl/tcl/request-processor-procs.tcl 10 Aug 2021 12:13:18 -0000 1.153.2.38 @@ -1169,13 +1169,14 @@ } # - # Determine internal redirects by comparing URL suffix. Don't use - # a match operation, since this might lead to surprising results, + # Determine internal redirects by comparing URL suffix. We check + # if the connection URL ends by the ad_conn extra_url. Don't use a + # match operation, since this might lead to surprising results, # when the URL contains match characters ('*' or '?', ...). # if {[info exists ::ad_conn(extra_url)] && $::ad_conn(extra_url) ne "" - && [string range $::ad_conn(extra_url) end-[string length $::ad_conn(extra_url)] end] ne [ns_conn url] + && [string range [ns_conn url] end-[expr {[string length $::ad_conn(extra_url)] - 1}] end] ne $::ad_conn(extra_url) } { # # On internal redirects, the current ::ad_conn(extra_url)