如何使IIS支持Put、delete请求

最近因为项目发布及部署,经常遇到IIS不支持项目中PUT和delete的请求,现记录下来以防忘记。

0、问题描述:一般IIS不支持PUT和Delete请求的时候,都会报405或500的错误,如下:

如何使IIS支持Put、delete请求

如何使IIS支持Put、delete请求

如何使IIS支持Put、delete请求


一、部署环境:IIS 8.5

    如果不知道版本号的,可打开IIS查看版本号:

如何使IIS支持Put、delete请求

如何使IIS支持Put、delete请求


二、问题原因分析:在默认情况下,IIS会安装一个WebDav模块,而这个模块阻止了HTTP的PUT和Delete请求

三、解决方案:

①删除IIS安装的WebDav模块,选择你的项目,右边有个“模块”,双击它;找到WebDavModule,删除它。

如何使IIS支持Put、delete请求

如何使IIS支持Put、delete请求

②修改你项目的web.config ,在<system.webServer>标签内加上以下代码。

     <modules runAllManagedModulesForAllRequests="true" runManagedModulesForWebDavRequests="true">
           <remove name="WebDAVModule"/>
      </modules>
       <handlers>
          <remove name="WebDAV" />

        </handlers>