Solution
Reference articles:
- Tip/Trick: Url Rewriting with ASP.NET by Scott Guthrie – Examines four approaches: 1) Use Request.PathInfo Parameters Instead of QueryStrings; 2) Using an HttpModule to Perform URL Rewriting; 3) Using an HttpModule to Perform Extension-Less URL Rewriting with IIS7; 4) ISAPIRewrite to enable Extension-less URL Rewriting for IIS5 and IIS6; also discusses how to handle ASP.NET postbacks correctly with URL rewriting.
- URL Rewriting by Salman (CSharpFriends) – simple implementation of URL rewriting logic within the Application_BeginRequest() method of the Global.asax file.
- Search Engine Friendly URLs using ASP.NET (C#.NET) by Maziar Aflatoun (The UK Web Design Company) – similar to the above, but regular expression is used to match URLs.
- Rewrite.NET – A URL Rewriting Engine for .NET by Robert Chartier (15Seconds.com). Solution steps:
- Create the HttpModule to process the web request and rewrite the URL
- Add the handler in Web.config
- Create a configuration section in Web.config to define URL mapping rules
- Add extensibility by creating a rules engine interface
- Write class or classes to implement rules engine interface
- Add code to the HttpModule to dynamically load the desired rules from Web.config
- URL Rewriting in ASP.NET by Scott Mitchell (MSDN) – examines how to implement URL rewriting in a HTTP module; also explains how to handle postbacks.
- URL Rewriting with ASP.NET by Richard Birkby (CodeProject) – shows how legacy ASP sites can be upgraded to ASP.NET, while maintaining links from search engines. Solution steps:
- Create the configuration section in Web.config for defining URL mapping rules
- Write the configuration section handler class, incorporating the URL rewriting logic
- Create a call to handler in Global.asax in Application_BeginRequest() method
- Compile the code and install the rewriter assembly in the Global Assembly Cache (GAC)
- Configure IIS to map non- .aspx files to the ASP.NET ISAPI extension
Related Resources
- Making Sense of ASP.NET Paths by Rick Strahl
- Fixing Microsoft’s Bugs: URL Rewriting by Jesse Ezell
- Regular Expressions with .NET by Dan Appleman and Daniel Appleman
- UrlRewritingNet.UrlRewrite – an Open Source Component which allows you certainly to rewrite URLs with ASP.NET 2.0.
- Open Source URL Rewriter for .NET / IIS / ASP.NET