Re: Stripping trailing slashes (again)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On Thu, Jun 13, 2024 at 10:41 AM Dave Wreski <dwreski@xxxxxxxxxxxxxxxxxxx.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. 

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux