Forum Discussion
F5 iRule Redirect Issue
Hello all,
I'm new to F5, so I apologize if I'm not doing this correctly. I have a current iRule that is set to redirect from domain A to domain B if certain criteria happen. For instance, if someone goes to domainA.com/1234, it should redirect to domainB.com/path?id=1234. If there is no "1234" in the URL, it should go to the landing page of Domain B
Here's my current redirect rule for domain A:
if { [HTTP::uri] equals "/" } then {
HTTP::redirect "https://domainb/path"
} else {
HTTP::redirect "https://domainB/path?id=[URI::encode [string range [HTTP::uri] 1 end]]"
}
This works well, except if someone uses a service like MailChimp. Those services append tracking information, so domainA.com/1234 becomes domainA.com/1234?utm_campaign=foo. This will break the URL for DomainB, since the campaign tracking information will become URL escaped characters. What would be the best way to fix this issue?
- JRahmAdmin
Hi HumanSky,
If you don't want to consider the query parameters at all, you can use HTTP::path instead of HTTP::uri. If you need to strip just a specific query parameter and its value, you can do an if exists condition for that with the URI::query command and then act accordingly.
You can also consider doing this in a policy vs. using an irule.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com