For RegEXP redirects the option "Respect GET Parameters" defines,
if the request uri is matched with the get parameters or without
against the defined RegEXP pattern.
REQUEST: https://domain.tld/foobar?param1&value=1
PATTERN: /^\/foobar$/
With "Respect GET Parameters" enabled the request path with query parameters
is matched against the defined pattern, and therefor do not match.
With "Respect GET PArameters" disabled only the path is used to match against
the RegExp pattern and would match ignoring GET parameters completly.
That means, you have to provide a regexp pattern matching also query parameters
if you want to match on specific query parameters only.
So to say, if I understand your description correctly I would say your assumption
is correct.
I could not reproduce this failing and I also created a patch adding tests to
cover exactly these cases to show that it's working.
If you are still getting redirects, you should check the redirect headers - they
should contain a 'X-Redirect-By' header entry with a value like 'TYPO3 Redirect 123',
where the integer value is the uid of the ext:redirects redirect record.
If you had originally other settings, maybe clear the TYPO3 caches AND the browser
caches (as 301 redirects may be cached by the browser for a while). Better check with
curl or something like that.
If you grap the redirect uid from the header you can see if the redirect you have in
mind is really the one doing the redirect or if it is another rule.
Question:
Can it be, that you have a redirect (regexp, plain) that handles /foobar but with
Respect GET Parameters disabled ?