On Sun, Apr 28, 2024 at 4:05 PM Dave Wreski <dwre...@guardiandigital.com.invalid> wrote:
> Hi, > > I'm really quite stuck and hoped you could help. > > My apologies - the output was from wget, as that's what I typically use. >> >> $ curl 'https://guardiandigital.com/resources/blog?start=48' >> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> >> <html><head> >> <title>301 Moved Permanently</title> >> </head><body> >> <h1>Moved Permanently</h1> >> <p>The document has moved <a href="https://guardiandigital.com/index.php" >> <https://guardiandigital.com/index.php>>here</a>.</p> >> </body></html> >> >> >> > The next step is to find out where the 301 is coming from - your rules > will generate a 302. > > That may have been the result of me trying many different things and > getting a bit confused (again). Here's what I know - when I insert the > following code into my virtual host config, it strips the query string off > the pages that don't involve /resources/blog, but redirects to a 404 when > attempting to access a page involving "/resources/blog" and the "?start=" > query string. > > RewriteCond %{REQUEST_URI} !/resources/blog > RewriteCond %{QUERY_STRING} ^start=\d+$ > RewriteRule (.*) /$1? [L,R=301,QSD] > > [Sun Apr 28 15:40:02.614893 2024] ... rewrite 'resources/blog' -> > 'index.php' > [Sun Apr 28 15:40:02.614921 2024] ... internal redirect with /index.php > [INTERNAL REDIRECT] > > If I don't involve the first RewriteCond, it successfully strips off the > start= from every URL I tried. > > What does "INTERNAL REDIRECT" mean? Is that something done outside of > apache? Perhaps by joomla? I believe there are other relevant redirects > after these, but it's very difficult to isolate what's relevant. > > > The internal redirect is the result of your rewrite rule, without a fully qualified URL as a target. Side note: the "rewrite 'resources/blog' -> 'index.php'" line seems to contradict your RewriteCond logic, so increasing the verbosity of the logging and looking at the previous lines will help fix that.