31-Dec-2020 14:27
Dear Community Experts,
I need multiple URIs to be redirected to single URL. Please share iRule that will accomplish this requirement.
Following three URIs need to be redirected to https://abcdef.com
1: "en/good/morning.aspx"
2: "en/good/evening.aspx"
3: "en/good/night.aspx"
I already have an iRule which successfully redirects one URI to single URL, which is shown below.
===============
when HTTP_REQUEST {
if { [HTTP::uri] contains "en/good/morning.aspx" } {
HTTP::redirect "https://abcdef.com"
}
}
==============
Instead of creating three iRules and assigning to virtual server I need one iRule to be created & assigned to virtual server.
Kind Regards
Solved! Go to Solution.
31-Dec-2020 19:58
There are multiple ways to achieve it but would suggest you to add two more conditions in existing iRule.
when HTTP_REQUEST {
if { ([HTTP::uri] contains "en/good/morning.aspx") || ([HTTP::uri] contains "en/good/evening.aspx") || ([HTTP::uri] contains "en/good/night.aspx") } {
HTTP::redirect "https://abcdef.com"
}
}
Cheers...
31-Dec-2020 19:58
There are multiple ways to achieve it but would suggest you to add two more conditions in existing iRule.
when HTTP_REQUEST {
if { ([HTTP::uri] contains "en/good/morning.aspx") || ([HTTP::uri] contains "en/good/evening.aspx") || ([HTTP::uri] contains "en/good/night.aspx") } {
HTTP::redirect "https://abcdef.com"
}
}
Cheers...
31-Dec-2020 19:58
There are multiple ways to achieve it but would suggest you to add two more conditions in existing iRule.
when HTTP_REQUEST {
if { ([HTTP::uri] contains "en/good/morning.aspx") || ([HTTP::uri] contains "en/good/evening.aspx") || ([HTTP::uri] contains "en/good/night.aspx") } {
HTTP::redirect "https://abcdef.com"
}
}
Cheers...
01-Aug-2021 11:40
Thank you so much, it worked for me.
01-Jan-2021 04:49
Just my two cents on this one: HTTP::redirect always sends an HTTP 302 (Temporary Redirect) status code. If you want to send a different status code (like HTTP 301 (Permanent Redirect)) should use HTTP::respond instead.
If you use a 302 is used instead of a 301, search engines might continue to index the old URL, and disregard the new one as a duplicate.
01-Aug-2021 11:42
Hi Daniel,
Thank you for your input.
If I follow your piece of advice then the iRule will be similar to bellow for any future iRule that I create?
02-Aug-2021 02:00
Hi iRule,
please refer to this documentation: https://clouddocs.f5.com/api/irules/HTTP__respond.html
I'd probably add is like this:
HTTP::respond 301 -version auto noserver Location "https://abcdef.com"
KR
Daniel
23-Jun-2022 15:26
Thank you for your kind input