views:

94

answers:

1

The IIS URL Rewrite Module ships with 3 built-in functions:

* ToLower - returns the input string converted to lower case.
* UrlEncode - returns the input string converted to URL-encoded format. This function can be used if the substitution URL in rewrite rule contains special characters (for example non-ASCII or URI-unsafe characters).
* UrlDecode - decodes the URL-encoded input string. This function can be used to decode a condition input before matching it against a pattern.

The functions can be invoked by using the following syntax: {function_name:any_string}

The question is: can this list be extended by introducing a Replace function that's available for changing values within a rewrite rule action or condition?

Another way to frame the question: is there any way to do a global replace on a URL coming in using this module?

It seems that you're limited to using regular expressions and back-references to construct strings - i.e. there's no search/replace mechanism to replace every instance of X with Y in {REQUEST_URI}, without knowing how many instances there are.

I've had a quick glance at the extensibility introduced in the 2.0 RTW and don't see any 'light' means of introducing this.

A: 

Looks like you have to implement your own provider as shown here:
http://learn.iis.net/page.aspx/804/developing-a-custom-rewrite-provider-for-url-rewrite-module/

Nariman