Netscaler行动 - 用连字符替换句点

时间:2017-03-07 16:39:53

标签: citrix netscaler

我正在尝试在我的netscaler中使用内容切换操作,用连字符替换域名中的句点。

这就是我目前正在做的事情;

HTTP.REQ.HOSTNAME.BEFORE_STR(".") + "-" + HTTP.REQ.HOSTNAME.DOMAIN.BEFORE_STR(".") + "-" + HTTP.REQ.HOSTNAME.DOMAIN.AFTER_STR(".")

这不仅看起来很草率,而且只适用于3部分域名。

EG:它适用于“site.domain.com”但不适用于“sub.site.domain.com”

我无法为HOSTNAME或DOMAIN部分找到简单的.REPLACE(str,result)。

.PATH提供了一个简单易用的.PATH.GET(int_path_part),但HOSTNAME没有。

我使用的是11.0.69版Netscaler软件。

我在这里缺少什么?这似乎应该很简单,但表达式编辑器似乎妨碍了我这样做的能力。

1 个答案:

答案 0 :(得分:0)

RE“我无法为HOSTNAME或DOMAIN部分找到简单的.REPLACE(str,result)。”

在Rewrite Action上选择type = Replace_ALL ||取代

您可以使用正则表达式进行逻辑替换,也可以使用静态替换,只需对每个应用程序执行1次重写策略/操作。您还可以执行KV Pair类型的替换,在kv对中查找要替换的内容