Forum Discussion
301 Redirect but Adding Original URL and Referrer
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
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.
- Jan 28, 2021
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
- Jan 27, 2021
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 } }
- f5noob29Jan 27, 2021Altocumulus
Hi,
This is what i currently have but it does not seem to be working. I used the iRule that you suggested but ended up modifying it as it is not working according to their requirements and so that's the end result.
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]" { HTTP::header replace "Cache-Control" "no-store, no-cache, must-revalidate, max-age=0" } } }
- wkirkFeb 02, 2021Nimbostratus
Perfectly works...Thanks Kees.
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