Hi,
The stream profile only operates on the payload. The URI is in the HTTP headers, so you wouldn't want to use a stream profile and iRule for this. Also, for HTTP, it's not practical to use a stream profile and iRule on a request payload if the search/replace fields are a different length as there is no way to update the Content-Length header.
With that said, you can use HTTP::uri or HTTP::path to rewrite the URI or path in a request. You can use string map to search for one string and replace it with another.
Can you give a more exact example of what you're trying to replace in the URI?
Here is an example that would do exactly what you've tried. But I don't think it will solve the problem if abc is a fairly generic string in the URI.
when HTTP_REQUEST {
Replace abc with abc?zzzz=123 in the URI
HTTP::uri [string map {abc abc?zzzz=123} [HTTP::uri]]
}
Aaron