02-Nov-2020 09:40
I have a URL that contains /? in the address. When the URL is visited in a browser it functions as expected and the page loads. When its used as a redirect location in an LTM policy the page will not load. The redirect location is saved in the policy rule and when you go back to view the address the F5 is adding /\? to the URL which then won't properly load the page if its visited.
Is there anything that can be added to correctly escape that character or make the redirect function correctly?
02-Nov-2020 12:50
Try specifying ? as %3F.
Also, is the ? actually required?
In the RFC, ? delimits the URI path/file and the query parameters.
So
/test/
and
/test/?
should be functionally equivalent, as the second just specifies the same path with an empty parameter string.
But (of course) YMMV depending on the compliance of the specific server ...
02-Nov-2020 14:06
Thanks for that suggestion. I tried changing it and the page still won't load correctly. The user requesting the redirect states the ? and the rest of the URL are required for Google Analytics. The full URI is actually /?utm_source=Posters&utm_medium=print&utm_campaign=Poster-Rackcards
02-Nov-2020 15:27
What version of LTM?
On 15.x, the displayed rule shows the escape character in the rule but the Location header is correct in the reply.
Can you test with a curl request that triggers the redirect:
curl -kv http://host.name.site/
Have you checked using the Browser developer tools (F12, network) to view the request/response?
Can you post the policy rule?