In my lab environment the other day I started receiving a 404 from *all* of my SharePoint sites. So you being checking the usual suspects like the ULS logs and the event logs, but there were no errors note. One of my colleagues asked about the IIS logs and the sub-status code for the 404. As it turns out it was a 2, which according to this article means: ISAPI or CGI restriction
So that’s all well and good, but it didn’t get me any closer to what was happening. I looked in the IIS Manager and there were no disallowed ISAPI filters and all the .Net extensions were listed as would be normally.
After fighting with this for a couple of hours and having some peers looking over my shoulder we couldn’t shake the feeling that we were missing something simple. The HTTP error sub-status code was the clue we just weren’t putting the pieces together properly.
At this point we compared my lab server to a known good server that was working and it was pretty easy to see. For some reason – that I still do not know today – all of the SharePoint Foundation 2010 ISAPI filter entries were gone from my server. After adding them back manually:
everything started working again…more or less normally….and don’t ask me why the ISAPI filter description is SharePoint Foundation 2010 for the SharePoint Server 2013 product. My favorite saying in times like this is “I wasn’t there when they were asking for opinions”.