IIS 7.5 405 Method Not Allowed for PUT from Static

2019-07-24 07:38发布

问题:

I'm integrating a 3rd party xml editor into our web app and the save function performs an HTTP PUT directly to the file on the web server.

The OS is Windows Server 2008 R2 using IIS 7.5

We have a Web API installed so we already have WebDAV removed and also have updated the web.config with:

<remove name="WebDAVModule" /> under modules
<remove name="WebDAV" /> under handlers

We've updated the Handler Mappings of the site to include the 'PUT' verb:

  • StaticFile

  • ExtensionlessUrlHandler-ISAPI-4.0_32bit

  • ExtensionlessUrlHandler-ISAPI-4.0_64bit

We still continue to get the following response in fiddler when we make a PUT request to an xml file in the Composer:

HTTP Error 405.0 - Method Not Allowed

The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used.


Module :     StaticFileModule 

Notification :     ExecuteRequestHandler 

Handler :     StaticFile 

Error Code :     0x80070001 

回答1:

When you installed your aplication in IIS in Module:

Find WebDav and remove the same step you must do in Handler Mappings - remove WebDav and refresh all.



回答2:

Add PUT, DELETE verbs to PHP.cgi request restrictions.

IIS -> Sites -> DOMAIN.COM -> Handler Mappings -> Edit the CGI handler handling your requests -> Request Restrictions -> Verbs tab.