I’m working with IIS 7.5 and URL Rewrite module. It is very powerful and you can achieve interesting results.
You can create custom provider both for INBOUND and OUTBOUND rule. You have to inherit from IRewriteProvider.
With the INBOUND provider you can rewrite all the link “incoming” from the browser. The goal of the OUTBOUND provider is even much more interesting: you can rewrite all the URL in the page in order to convert “bad” URL into friendly and canonical URL.
Normally you don’t have any issue with the INBOUND provider; it works immediately…no worries. With the OUTBOUND I got some problem. When I was executing the page I was getting always a 500.2 error. I finally understand that the problem was related to the compression of IIS.
To solve the problem, please follow these steps: