In IIS6 when creating a virtual directory it was possible to set the virtual directory to actually add as a redirect to another page or site. In IIS7 this is still possible however it needs to be achieved slightly differently. Lets take an example. Say you have a website and you are running a number of offers and would like to offer users the option of navigating to them through a short path such as domain/offer1, domain/offer2 etc then you would have in IIS6 set these Virtual Directories up with dummy Physical Paths, e.g. the root of the parent site, and set the option to redirect to a URL.
In IIS7 because the configuration is stored in a web.config file in the physical path of the virtual directory, this can cause the redirections to be overwritten, i.e. if you set up the redirection of domain/offer1 to go to domain/offers/offer1 and then go and set up domain/offer2 to go to domain/offers/offer2 you will find that both redirections go to domain/offers/offer2 because the value in the web.config file has been overwritten by the second redirect rule. In order to achieve the desired effect and get the redirections to work, you need to actually add the redirections to the applicationhost.config file and set a location tag for the site you are working in. This is currently not possible in the User Interface but is possible to achieve using the APPCMD utility. Here are the steps to achieve this.
1. Open an elevated command prompt
2. then run the following command –
%windir%\system32\inetsrv\appcmd set config "nameofsite/virtualdirectoryname" -section:system.webServer/httpRedirect -enabled:true -destination:destinationofredirect -commitpath:apphost
an example of this command would be:
c:\windows\system32\inetsrv\appcmd set config "Default Web Site/offer1" -section:system.webServer/httpRedirect -enabled:true -destination:Offers/Offer1/default.aspx" -commitpath:apphost
The key element here in this command is the commitpath directive which adds sets the configuration in the applicationhost.config:
<location path="Default Web Site/Offer1">
<httpRedirect enabled="true" destination="Offers/Offer1/default.aspx" />"
Hope this clears it up :).