Skip to main content

URL rewritting

A URL Rewriting


This article describes a complete solution for URL rewriting in ASP.NET 2.0. The solution uses regular expressions to specify rewriting rules and resolves possible difficulties with postback from pages accessed via virtual URLs.

Why should we use URL rewriting?


The two main reasons to incorporate URL rewriting capabilities into your ASP.NET applications are increased usability and easy to maintain

(1)increased usability


It is well-known that users of web applications prefer short, neat URLs to monstrous addresses packed with difficult to comprehend query string parameters. From time to time, being able to remember and type in a concise URL is less time-consuming than adding the page to a browser's favorites only to access later. Again, when access to a browser's favorites is unavailable, it can be more convenient to type in the URL of a page on the browser address bar, without having to remember a few keywords and type them into a search engine in order to find the page.
Compare the following two addresses and decide which one you like more:
(1) http://www.zombie.com/Blogs/lastest.aspx?yy=2008&mm=08&dd=20

(2) http://www. Zombie.com/Blogs/2008/08/20/
As we can see the first url is little descriptive and it is useless to remember for end user who is browsing your site, so second one is defined, it can be clearly seen that second one is much better to read and useable.

(2)Easy to maintain


It is very common scenario in web world that changes are taken place each and every day in our developer life, say we have page called contactus.aspx in contact folder and tos.aspx in terms folder but later we decide to move both the pages on static Content folder ,now if any one has book marked our page will get an error stating that page is not there(As we have moved it), so for that purpose also this rewriting is useful, We can make changes in our config file and maintain it very easily, By this we can see clear separation between physical structure and logical structure of stored files.

URL mapping from web.config


ASP.NET 2.0 provides an out-of-the-box solution for mapping static URLs within a web application. It is possible to map old URLs to new ones in web.config without writing any lines of code. To use URL mapping, just create a new urlMappings section within the System.web section of your web.config file and add the required mappings (the path ~/ points to the root directory of the web application):




Thus, if a user types http://www.zombie.com/contact/contact.aspx, he can then see the page located at http://www.zombie.com/staci/contact.aspx.

ZOMBIE:NOTE: This is solution is good where there are small amount of pages moved to directories, but what if there are plenty of pages that have been moved away here and there??? So content for the same is coming soon stay tuned…..

Comments

Popular posts from this blog

High CPU to completely normal CPU - SXA issue, SXA pages not loading in mobile device

  Hi Team, Today i am going to share one of the nightmarish issue with you all, We are having Sitecore 9.1.1 hosted in azure PaaS environment Our site was working just fine and no noise, but we have been working on a feature release where 7-8 months of development needed to be released to production, Big GO LIVE event right?  Also to make the development smoother we also introduced BLUE/GREEN deployment slots in the same release, so we can easily SWAP slots and go live Everything went well, we went live, we even did load and performance testing on our staging and pre-prod and we were confident enough of results Very next day we started getting "SITE DOWN" alerts, and also product owners and clients mentioned that site is very slow for them in US time and in our morning when we were accessing it, it was working lighting fast so we were clue less at start, but we started digging  1) First thing caught our eyes were HIGH CPU spikes, in US time, also without any traffic CPU u...

Set up leprechaun code generation with Sitecore XM Cloud Starterkit

Hi Sitecorians, It has been amazing learning year so far and with the change in technology and shift of the focus on frontend frameworks and composable products, it has been market demand to keep learning and exploring new things. Reasons behind this blog Today's topic is something that was in my draft from April-May, and I always thought that there is already a good documentation out there for  Leprechaun  and a blog post is not needed, Until I realized that there was so many of us facing same kind of issues and same kind of problems and spending same amount of time, That is where I thought, if I could write something which can reduce that repetitive troubleshooting time, That would really help the community. 1)  In a project environment, if we get into some configuration issues, we resolve them, we make sure we are not blocked and continue, but if you think same issue, same step and same scenario will come to other people, so if we can draft it online, it will help othe...

An error occurred while receiving the HTTP response to This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details.

You have noticed many times that everything was working fine and suddenly the below error starts coming and you find no way to work it out An error occurred while receiving the HTTP response to This could be due to the service endpoint binding not using the HTTP protocol. This could also be due to an HTTP request context being aborted by the server (possibly due to the service shutting down). See server logs for more details. The reason for this is the receiving size of WCF service is smaller then the data which is coming from service It was working before because it was small,So you will have to try to increase the receiving setting in your end point,Possible settings can be following maxStringContentLength="2147483647" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxArrayLength="2147483647" That would definately help you!!!