This issue is similar to some that have been previously posted (http://forums.iis.net/post/2023116.aspx andhttp://forums.iis.net/t/1166824.aspx/1), but differs in that I don't have any CGI restrictions in place (the "ASAPI and CGI Restrictions" icon isn't present in IIS), and I don't have any disabled handler mappings nor any exotic setup. This is on a developer laptop, previously set up by the IT department where I work, and some settings are handled by the network administrator.
The one unusual feature of my setup is that since I have to run PHP concurrently with IIS, I have my IIS sites set up on port 8080. However, I get the same error when I bind the site to port 80 (with the Apache service stopped). It's also noteworthy that I have four other virtual directories set up, none of which is exhibiting this particular problem.
I have the following ISAP filters installed: ASP.NET_2.0.50727.0 / .50727-64, ASP.NET_2.0_for_V1.1, ASP.Net_4.0_32bit, ASP_4.0_64bit. The site in question is an ASP.NET project targeting the 4.5 .Net Framework. None of the relevant file extensions (.aspx, .htm) are denied in the Request Filtering settings.
The error, in full:
HTTP Error 404.2 - Not Found
The page you are requesting cannot be served because of the ISAPI and CGI Restriction list settings on the Web server.
Detailed error information:
Module | IsapiModule |
---|---|
Notification | ExecuteRequestHandler |
Handler | ExtensionlessUrlHandler-ISAPI-4.0_64bit |
Error Code | 0x800704ec |
Requested URL | http://ebsi.cornerstone.meridian:8080/ |
---|---|
Physical Path | C:\Source Code\_GIT\Cornerstone\vendor\sbc\bw\ui\Web |
Logon Method | Anonymous |
Logon User | Anonymous |
Most likely causes:
- No handler mapping for this request was found. A feature may have to be installed.
- The Web service extension for the requested resource is not enabled on the server.
- The mapping for the extension points to the incorrect location.
- The extension was misspelled in the browser or the Web server.
Things you can try:
- Install the feature that handles this request. For example, if you get this error for an .ASPX page, you may have to install ASP.NET via IIS setup.
- Verify that the Web service extension requested is enabled on the server.
- Open the IIS Manager and navigate to the server level.
- In the Features view, double-click ISAPI and CGI Restrictions to verify that the Web service extension is set to Allowed.
- If the extension is not in the list, click Add in the Actions pane.
- In the Add ISAPI and CGI Restrictions dialog box, type the path of the .dll or .exe file in the ISAPI or CGI Path box, or click Browse to navigate to the location of the file.
- In the Description box, type a brief description of the restriction.
- (Optional) Check "Allow extension path to execute" to allow the restriction to run automatically. If you do not check this option, the restriction status is Not Allowed, which is the default. You can allow the restriction later by selecting it and clicking Allow on the Actions pane.
- Click OK.
- Verify that the location of the extension is correct.
- Verify that the URL for the extension is spelled correctly both in the browser and the Web server.
- Create a tracing rule to track failed requests for this HTTP status code. For more information about creating a tracing rule for failed requests, clickhere.
I want to stress that in the absence of an "ASAPI and CGI Restrictions" icon in IIS Manager, I can't follow the steps outlined in the error message. Does anybody know of a workaround, or is there some trick to getting this icon to appear if it's absent? Thanks in advance.