Forum Discussion
301 Redirect but Adding Original URL and Referrer
Old website will be decommissioned and we want users that would access the old site to be redirected but with the original URL be added and a referrer in the header. Can the original URL can be passed as either a HTTP GET parameter or as a HTTP header, but the referrer should stay “hidden” and be passed in a HTTP header?
We'd like F5 to put the original URL and the referrer into GET parameters.
For example, a user goes to OLD-APP and clicks on help button.
OLD-APP: http://old-app.com/URI/query
help link: http://old-app.com-help/URI/query
F5 intercepts and returns HTTP 301 with the following headers:
Location: https://NEW-APP.com/redirect/?url=http%3A%2F%2Fold-app.com-help%2FURI%2Fquery&referer=http%3A%2F%2Fold-app.com%2FURI%2Fquery
Cache-Control: no-cache, no-store, must-revalidate, max-age=0
If there is no Referrer header, then F5 can omit referrer or just use an empty value (i.e. referrer=).
We are trying to achieved this via an iRule, I've looked around and found some iRule that could potentially helped but I cant create a specific iRule for this requirements. I'd appreciate your help. TIA.
Hi,
Could you give this a try:
when HTTP_REQUEST { HTTP::respond 301 Location "https://NEW-APP.com/redirect/?url=http://[HTTP::host][HTTP::uri]" Referer "http://[HTTP::host][HTTP::uri]" }
Cheers,
Kees
- f5noob29Altocumulus
Thanks Kees.
I got it to work but app owner says that they are seeing below,
Location: https://https://NEW-APP.com/redirect?url=http://old-app.com-help/URI/URI1/URI2/URI3
Instead of this,
Location: https://NEW-APP.com/redirect/?url=http%3A%2F%2Fold-app.com%2FURI%2FURI1%2FURI2%2FURI3
They also want to have a cache-control header
Cache-Control: no-cache, no-store, must-revalidate, max-age=0
Also the referrer does not seem to work as F5 doesn't include the referrer in the redirect URL.
TIA.
Hi,
Can you test this irule?
when HTTP_REQUEST { set uri [URI::encode [HTTP::uri]] set host [URI::encode [HTTP::host]] set referer [URI::encode [ HTTP::header Referer ]] if { [string tolower [HTTP::uri]] starts_with "/uri/"} { HTTP::respond 301 Location "https://NEW-APP.com/redirect/?url=http://$host$uri\_\_referrer=$referer\&[HTTP::query]" Cache-Control "no-store, no-cache, must-revalidate, max-age=0" } }
Cheers,
Kees
- MrwillbaclimonAltocumulus
What about something like this?
Redirect TLS 1.1/1.2 clients & Append the incoming... - DevCentral (f5.com)
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