Introduction to URL rewriting, to URL mapping, and to URL routing in ASP.NET in a .NET Framework environment

When you use Microsoft ASP.NET to develop a Web application, a page may be moved from one directory to another directory. Or, you may map a URL to a page that does not exist. When you try to access this page in a Web browser, you receive an error message that states that the page does not exist.

This article describes how to avoid this problem by using the URL Rewriting Engine to perform dynamic URL rewriting, dynamic URL mapping, and dynamic URL routing.
The URL Rewriting Engine is a sample project that you can download from the Microsoft Download Center. Generally, URL rewriting and URL mapping are used to map a virtual page to a real page. But where URL rewriting is used to map multiple pages according to one rule, URL mapping is used to map a single page.

By using URL routing, the URL is not changed when an incoming request is handled, because URL routing can extract values from the URL. When you want to create a URL, you can pass parameter values to a method that generates the URL for you.

Usage examples

URL rewriting

To perform URL rewriting, follow these steps:
  1. Download the URL Rewriting Engine by visiting the following Microsoft Web site:
  2. Run the MSDNURLRewriting.msi file. Some source code files will be installed.
  3. Open the URLRewriter solution in Microsoft Visual Studio, and then build the solution. The URLRewriter.dll file is generated in the debug folder.
  4. Create a new Web application project, and then add to your project a reference to the URLRewriter.dll file.
  5. Modify the Web.config file to set up URL rewriting. For example, you can set up URL rewriting by adding the following tags to the Web.config configuration file:
    <configSections>	<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" /></configSections>  <RewriterConfig>    <Rules>      <!-- Rules for Blog Content Displayer -->      <RewriterRule>        <LookFor>~/Default.aspx</LookFor>        <SendTo>~/SendToPage.aspx</SendTo>      </RewriterRule>    </Rules >   </RewriterConfig>
For more information, visit the following Microsoft Web site:

URL mapping

You can use the <urlMappings> tag in the Web.config file to set up URL mapping.

This method is shown in the following code example:
<?xml version="1.0" ?><configuration xmlns="">  <system.web>    <urlMappings enabled="true">      <add          url="~/Category.aspx"          mappedUrl="~/Default.aspx?category=default" />      <add          url="~/Autos.aspx"          mappedUrl="~/Default.aspx?category=autos" />      <add          url="~/Games.aspx"          mappedUrl="~/Default.aspx?category=games" />      <add          url="~/Health.aspx"          mappedUrl="~/Default.aspx?category=health" />      <add          url="~/News.aspx"          mappedUrl="~/Default.aspx?category=news" />    </urlMappings>  </system.web></configuration>
For more information about URL mapping, visit the following Microsoft Web site:

URL routing

The following code example shows how to set up URL routing:
  public static void RegisterRoutes(RouteCollection routes){  routes.Add(new Route  (     "Category/{action}/{categoryName}"          new CategoryRouteHandler()  )    {       Defaults = new RouteValueDictionary            {{"categoryName", "food"}, {"action", "show"}}     }  );}        protected void Application_Start()        {            RegisterRoutes(RouteTable.Routes);        }    }} 
For more information about URL routing, visit the following Microsoft Web sites:

Artikel-id: 976111 - Laatst bijgewerkt: 10/08/2009 19:27:36 - Revisie: 1.0

Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.1, Microsoft .NET Framework 2.0, Microsoft .NET Framework 3.0, Microsoft .NET Framework 3.5

  • kbexpertiseadvanced kbhowto kbsurveynew kbinfo KB976111