-
Uncategorized
Lower-casing URIs in .NET
A few months ago, a client asked that their .NET site have all its URIs lower-cased for search-engine optimization purposes. This was an existing site with a lot of files, already in SVN. SVN in Windows is wonky (by which I mean, terribly broken) when it comes to changing the case of filenames, so I decided to go for a programmatic solution to the renaming. I ended up with the following: void Application_BeginRequest(object sender, EventArgs e) { string currentURL = Request.RawUrl.ToLower(); if ((currentURL != Request.RawUrl) && (!currentURL.Contains(".axd"))) { Response.Status = "301 Moved Permanently"; Response.AddHeader("Location", currentURL); } } The most important thing is the “!currentURL.Contains(“.axd”)” condition. .NET sticks its scripts in…