Awhile back I ran into an issue installing Mura CMS on a dedicated Windows server running, ColdFusion, ISAPI and IIS6. The issue wasn't blatantly obvious at first because Mura would install just fine and the home page would show up so I thought everything was just fine. However, once I began adding pages to the site and then attempted to view those pages, they wouldn't show up. I would get the ever popular 'The page cannot be found' screen. The first thing I did was check some other Mura sites I had already had installed on the server and each one of them had the same issue. This was extremely odd to me because all of my Mura sites had worked just fine before and I never noticed any problems.
So after tinkering around a little I began thinking about any software I had installed recently that might even remotely affect what was going on. Well, the only thing I could think of was ISAPI. I had just installed it with the previous day or so and wasn't really using ISAPI yet. So I uninstalled it, then checked my sites and they all seemed to work just fine. Well, that's great, isn't it? Sure, if you don't really use or need ISAPI, which was my case at the time so I just went about my business and never dug any further into the issue.
So, a few months went by and some developers who were in the process of evaluating Mura shot me a message asking for a little direction on a problem. "We have Mura up, but cannot go to sub pages. I think it is a SEO URL thing that IIS6 is not handling correctly ..." and they attached a couple of screen shots for me to look at. It took me a minute to remember, but I asked them if they had ISAPI installed. Sure enough, they did. So I proceeded to let them know if my recent experience, but wasn't able to help them really solve the problem ... because see, they actually used ISAPI and needed to have it play nicely with Mura.
A short time later, one of the developers had a "eureka!" moment. In hopes of guiding any other people running into this problem, I've opted to post his entire response below. Many thanks (and congrats) to Ken Payne for solving this problem!
I just figured out our iis6/cf8 404 problem and I thought you might like to know what its was.
By default CF8 is not SES enabled. I saw how to correct this early on in my investigation, by uncommenting the appropriate entries in the web.xml file. This had no apparent effect and we assumed it wasn't even hitting CF anyway since it was a IIS 404 error. So after your hint that it may be ISAPI we edited IIS and did a restart and voila the SES URL's now worked. On 1 but not on the other 2 installs. I hadn't restarted the other 2 cf instances after editing their web.xml...
So after monkeying with restarting IIS and the other CF instances they magically worked at some point. Enter the new developer with his own CF instance and we have the same problem. It didn't take me long to puzzle it out by dumb luck on my first try.
So the correct sequence is:
- Edit web.xml to enable ses
- Restart the CF instance
- Restart IIS
So simple once I see what's going on. IIS was smart enough to know that CF didn't have a servlet for handle the ses url so it just didn't pass it. This was not obvious since at one point it did indeed pass it on during my testing when I re-commented the ses servlet declarations and tried accessing with ses url. But of course I had not restarted IIS yet so it thought CF could handle it etc.
Hope that made sense.