• 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…