HTTP Error 404 - File or Directory not found caused by ISAPI filter of Sharepoint
Got error message from IIS 6 when debug WCF application “HTTP Error 404 - File or Directory not found”(HTTP 错误 404 - 文件或目录未找到).
Look into IIS log file:
#Fields: date time s-sitename s-ip cs-method cs-uri-stem cs-uri-query s-port cs-username c-ip cs(User-Agent) sc-status sc-substatus sc-win32-status
2008-10-05 12:21:33 W3SVC1 127.0.0.1 GET /_vti_bin/owssvr.dll - 80 - 127.0.0.1 Mozilla/5.0+(Windows;+U;+Windows+NT+5.2;+zh-CN;+rv:1.9.0.1)+Gecko/2008070208+Firefox/3.0.1 404 0 0
2008-10-05 12:21:33 W3SVC1 127.0.0.1 GET /_vti_bin/owssvr.dll - 80 - 127.0.0.1 Mozilla/5.0+(Windows;+U;+Windows+NT+5.2;+zh-CN;+rv:1.9.0.1)+Gecko/2008070208+Firefox/3.0.1 404 0 0
Check out ISAPI configuration of default web site, there is a stsfltr.I was confused where it's from.
Search it on Google.It seems it's a filter implemented by Sharepoint.
IIS handles base HTTP requests, but Windows SharePoint Services implements an Internet Server API (ISAPI) filter (STSFLTR.DLL) that modifies IIS behavior to handle managed paths, or inclusions and exclusions. The ISAPI filter either redirects requests to the Windows SharePoint Services ISAPI extension, or it allows ASPX pages (.aspx) and Web service URLs (.asmx) to fall through the filter to the SharePoint ASP.NET handler.
More details : How Requests are Handled in IIS and Through the ISAPI Filter
Remove the filter, IIS works well.