My latest MSDN article has been published, URL Rewriting in ASP.NET. This article looks at how to use either HTTP handlers or HTTP modules to perform URL rewriting in the ASP.NET HTTP pipeline. URL rewriting is the act of taking an incoming URL and seemlessly changing it to a different one. For example, you might have a page that lists products from different categories using a URL like /ListProducts.aspx?CategoryID=XXX. However, you might want to provide a more user-friendly URL, like /Products/Meat.aspx, and /Products/Dairy.aspx. URL rewriting is intercepting a request to, say, /Products/Dairy.aspx, and mapping it to the actual page, /ListProducts.aspx?CategoryID=XXX. The benefit is that the user can enter a friendly, memorable URL, while you can still use the less-user-friendly URLs with complicated querystring values.
If you have done any significant examination of URL rewriting in ASP.NET you've likely noticed that URL rewriting isn't really that easy to implement. There are a number of “gotchas,” like URL rewriting evaporating when using postbacks; or URL rewriting not playing nicely with forms authentication. This article addresses many of these subtlties.
[UPDATE 2005-10-26: Fixed URL to article (was broken)]