1

I am hosting a web site for an old site that was created in classic asp. The site uses a rudimentary method of tracking visitor clicks on particular links by routing all links through a file called tracking.asp that records the link and then redirects the user to that url.

So all of the links look something like this: tracking.asp?url=addresstoredirect.asp

The site hasn't been modified in many years and has worked without problems. Recently the links stopped working and started serving 404 errors.

If I request just tracking.asp, it works fine. If I try tracking.asp?url=justaddress there is no 404. Only by adding the .asp to the querystring parameter will it throw a 404. So the problem is that for some reason IIS no longer can handle the situation where there are 2 file extensions in the url. It somehow doesn't parse out the querystring and instead thinks it's looking for a file that has a ? in the name, which of course it will never find.

Modifying the links to drop the .asp in the redirected url querystring parameter is not an option. There are thousands of pages with these links that would need to be modified. And not all of the redirected file extensions are .asp. So modifying the redirect code to add the .asp isn't a viable option either.

The site owner is in the process of redeveloping the site, so some sort of workaround is just needed in the interim. I have not been able to find any information about why this might be happening now or any options to work around the problem. Since this appears to be a problem external to the code because the code hasn't changed in a long time, I would think some sort of IIS configuration setting could help. The site is hosted on Server 2008 R2 / IIS7.5. I haven't been able to find anything, and I would appreciate some help. Thanks.

1 Answers1

1

Has the version of IIS changed recently? or any patches to IIS?

EDIT: Could it be something to do with Request Filtering?

cspete
  • 170
  • 8
  • That's the strange part. Nothing at all has been updated or modified on the server during the time frame where it stopped working. The site is just using default request filtering options. – TheMaster192 Jan 08 '15 at 16:40
  • Could be a silly question but can you get to addresstoredirect.asp without going via tracking.asp? – cspete Jan 08 '15 at 16:51
  • Maybe its the dot in the querystring. Try this [post](http://stackoverflow.com/questions/11728846/dots-in-url-causes-404-with-asp-net-mvc-and-iis) – cspete Jan 09 '15 at 10:33