Как перенаправить с помощью F5 iRules с переменной в URL
Привет, я новичок в F5 iRule.
Я пытаюсь перенаправить https://website1.com/userid=1234 на https://website2.com/userid=1234
так что любое значение идентификатора пользователя будет перенесено после перенаправления.
Я думаю, что значение ID пользователя должно быть установлено в переменную. Может кто-нибудь поделиться, какой код использовать? Спасибо!
Поэтому https://website1.com/userid=8888 следует перейти на https://website2.com/userid=8888 и так далее.
1 ответ
Вам не нужна переменная, если этот шаблон соответствует. Простое правило:
when HTTP_REQUEST {
if { [HTTP::host] eq "website1.com" } {
HTTP::redirect https://websitesite2.com[HTTP::uri]
}
}
Однако, если вы используете v11.4+, вам действительно следует использовать локальную политику трафика для этого, так как она более эффективна как встроенная функция TMOS.
ltm policy sample_site_redirect {
controls { forwarding }
last-modified 2018-12-20:09:33:02
requires { http }
rules {
full_uri_redirect {
actions {
0 {
http-reply
redirect
location tcl:https://website2.com[HTTP::uri]
}
}
conditions {
0 {
http-host
host
values { website1.com }
}
}
}
}
status published
strategy first-match
}
если весь трафик к виртуальному серверу, к которому присоединено это правило или политика, предназначен только для веб-сайта1, вы можете устранить эти условия. Я не хотел предполагать. Если вы хотите сопоставить только URI, начинающийся с / user = и перенаправить его, вы можете сделать это следующим образом:
when HTTP_REQUEST {
if { ([HTTP::host] eq "website1.com") && ([string tolower [HTTP::uri]] starts_with "/user=") } {
HTTP::redirect https://website2.com[HTTP::uri]
}
}