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.
7 Replies
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
- f5noob29
Altocumulus
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 TIA,
Can you post the irule here?
Cache control header is not a request but a response header. So this can not be included in a redirect.
You need separate code in the irule:
when HTTP_RESPONSE { if { [HTTP::header value Content-Type] contains "application/pdf" } { HTTP::header replace Pragma public HTTP::header replace Cache-Control public } elseif { [HTTP::header value Content-Type] contains "application/vnd.ms-excel" } { HTTP::header replace Pragma public HTTP::header replace Cache-Control public } elseif { [HTTP::header value Content-Type] contains "application/msword" } { HTTP::header replace Pragma public HTTP::header replace Cache-Control public } else { return } }
- Mrwillbaclimon
Altocumulus
What about something like this?
Redirect TLS 1.1/1.2 clients & Append the incoming... - DevCentral (f5.com)
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)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
