On Thu, Jun 13, 2024 at 10:41 AM Dave Wreski <dwre...@guardiandigital.com.invalid> wrote:
> Hi, > > Some time ago I requested help with a rewrite rule to strip trailing > slash(es) from all URLs in our joomla website, but I'm still having > problems. This is the rule I am currently working with: > > RewriteRule ^(.*)/+$ https://linuxsecurity.com$1 [R=301,L] > > It works fine for any URL other than the homepage. Somehow for the > homepage it creates an infinite loop, despite using "L", so perhaps I don't > understand what it's doing. The (.*) is supposed to match any character, > but there wouldn't be any preceding elements for the homepage. > > The problem as I see it is that, for the homepage, (.*) would be null, so > $1 would also be null? This then creates the same URL as the one we're > trying to fix. > > First it appears to work properly (trimmed for legibility): > > init rewrite engine with requested uri / > applying pattern '^(.*)/+$' to uri '/' > rewrite '/' -> 'https://linuxsecurity.com' > explicitly forcing redirect with https://linuxsecurity.com > escaping https://linuxsecurity.com for redirect > redirect to https://linuxsecurity.com [REDIRECT/301] > > then it looks like it inits the rewrite engine again? > > init rewrite engine with requested uri /, referer: > https://linuxsecurity.com/ > applying pattern '^(.*)/+$' to uri '/', referer: > https://linuxsecurity.com/ > rewrite '/' -> 'https://linuxsecurity.com', referer: > https://linuxsecurity.com/ > explicitly forcing redirect with https://linuxsecurity.com, referer: > https://linuxsecurity.com/ > escaping https://linuxsecurity.com for redirect, referer: > https://linuxsecurity.com/ > redirect to https://linuxsecurity.com [REDIRECT/301], referer: > https://linuxsecurity.com/ > > This just loops repeatedly until it dies. I've also made sure there's only > one "RewriteEngine on" in the virtual host config and the .htaccess. Would > that even matter? > > What am I doing wrong? I've tried a thousand variations of this to no > avail. > > > > > You will need to stop using .htaccess files to prevent looping, as a first step. Edit your vhost.