<% @Language="VBScript"%> How to avoid problems with case-sensitive URL's on UNIX-servers
  Til Forbrugerportalens forside

How to avoid problems with case-sensitive URL's on UNIX-servers


Create a 404-file that converts the URL into lowercase, using javascript. A guide for webmasters.

This page in danish

UNIX-servers are case-sensitive - they distinguish between upper-case and lowercase letters in file names and folder names. So if you move your website from a windows to a UNIX-server (when you change web host for instance), you risk getting a certain amount of "Page not found"-errors (404 errors), because directories and other websites linking to yours sometimes get the cases wrong (typically writing the first letter of folder names in upper-case etc.).


The solution to the problem: creating a custom 404 page

Usually, you can get access to editing your custom 404-page. Just ask your web host to set the 404 page to the file 404.htm in the root of your website.

Then, you have two things to do:

  • Make sure the names of all files and folders on your website are written in lowercase
  • Copy the html/javascript-code below into a new page in your text editor (Notepad) - save the file as 404.htm - and upload the file to the root of your website. It's as simple as that!


<html><head><title>Page not found</title>
<meta name="robots" content="noindex,nofollow">

<script language=javascript>

// The three functions are general read, set and delete cookie-functions -
// copied from this page: http://www.echoecho.com/jscookies02.htm

// The rest of the javascript is specificallye made for 404-files on casesensitive servers
// it converts the url til lowercase to see if the reason for the 404 error is one ore more uppercase letters
// *** NB! - make sure all folder and file names on the website are written in lower case ***
// Copyright: Forbrugerportalen, 2004
// http://www.forbrugerportalen.dk/sider/casesensitive404-english.htm


function getCookie(NameOfCookie)

if (document.cookie.length > 0)
  begin = document.cookie.indexOf(NameOfCookie+"=");

  if (begin != -1)
    begin += NameOfCookie.length+1;
    end = document.cookie.indexOf(";", begin);
    if (end == -1) end = document.cookie.length;
    return unescape(document.cookie.substring(begin, end));
return null;

function setCookie(NameOfCookie, value, expiredays)
  var ExpireDate = new Date ();
  ExpireDate.setTime(ExpireDate.getTime() + (expiredays * 24 * 3600 * 1000));
  document.cookie = NameOfCookie + "=" + escape(value) + ((expiredays == null) ? "" : "; expires=" + ExpireDate.toGMTString());

function delCookie (NameOfCookie)
  if (getCookie(NameOfCookie))
    document.cookie = NameOfCookie + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT";


if (strLowcase!=null)
      // If the cookie exists, the adress has been converted to lowercase and still results in a 404-error

   document.write("The page <b>" + varURL + "</b> was not found.<br><br>");
  document.write("<a href='/' target='_top'>To homepage...</a><br><br>");

      // If the cookie doesn't exist, the URL is converted to lowercase
      // The cookie is set to expire in 10 seconds
      // - because anothere problem with casesensitive URL's can arise again in the same session






The script for the 404.htm-file in a js-file...
The script for the 404.htm-file in a zip-file...

If you like our script, please rate it!

Webmaster Toolkit - free online webmaster tools and resources

Big Webmaster Directory