An IIS Gotcha

PC Pro logo Posted: 1st February 1998 | Filed under: Press Articles, Technical
Author: Paul Ockenden
First Appeared in PC Pro 1998

We recently had a problem with a Web site hosted on an IIS server, and that makes heavy use of session variables to track what the user's doing. Users were reporting that the site wasn't behaving as expected; we eventually traced this to the user clicking on a certain link while using Netscape. How could the choice of browser affect session variables (stored on the server)? The answer was a difference in case sensitivity between IE and Netscape when specifying the server's virtual directory in the browser URL. If, for example, your site is called Fred, the URL to your root project might be http://servername/Fred/. Create a link to home.asp like this:

<a href="/Fred/html/home.asp">Goto Home Page</a>

then you should have no problem getting session variables tracked properly between pages on your site. If, however, you write the link as:

<a href="/fred/html/home.asp">Goto Home Page</a>

and Netscape creates a new session because of its case sensitivity, hence the session values seem to disappear. It's a mistake that's very easy to make, and incredibly difficult to find.