文章详情页
解决IIS不识别PUT和DELETE请求
浏览:208日期:2023-02-28 17:21:44
restful API对资源的相应操作应该被体现成http动词,增删改查对应动词应为post、delete、put、get。
按照思路写出一个demo以后,运行,结果是这样的:
好吧,被拦截了,怎么设置呢?网友们的回答五花八门——
有删除webdav模块的:
<system.webServer> <modules> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> </handlers> </system.webServer>
有说是因为权限不足造成的,有说是因为页面form太多造成的,有说是因为…………
以上一众网友不论对错,对此处问题都是无效的。
其实关键信息就隐藏在大家都能看得到的地方:
这个链接看过以后,相信大家心里都有谱了:修改配置。
配置文件在这里:C:\Windows\System32\inetsrv\config\applicationhost.config
需要注意的是该文件无法直接打开,先转跳至目录内在进行操作即可。
在这个文件内找到handlers标记,该标记下有所有模块的配置,修改对应模块允许的谓词即可,如:
<add name="SimpleHandlerFactory-ISAPI-4.0_64bit" path="*.ashx" verb="GET,HEAD,POST,DEBUG,PUT,DELETE" modules="IsapiModule" scriptProcessor="C:\Windows \Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
我这里将PUT和DELETE加了进去,运行:
可以看到,delete已经被支持,put也一样,同理,如果还有什么谓词想加进来,直接在对应模块的配置内添加即可。
如果还是不可以,请手动删除IIS中的WebDav模块,如下图:
到此这篇关于解决IIS不识别PUT和DELETE请求的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持。
相关文章:
1. iis服务器如何安装ssl证书2. IIS本地FTP服务器搭建的实现方法3. IIS站点绑定域名的方法步骤4. Windows Server 2019 Web服务IIS配置与管理理论篇(术语解释、工作原理与常见的WEB服务器)5. Windows Server 2012 基于iis的流媒体服务器的搭建图文方法6. windows server 2008 R2中IIS FTP安装部署图文教程7. IIS中301重定向跳转web.config规则和http重定向模块的实现教程8. Windows Server 2012 R2、Server 2016、Win 10 IIS FTP 用户隔离+共享文件夹配置方法9. IIS搭建ftp服务器的详细教程10. 让网站Windows服务器之iis支持Webp图片格式的方法(宝塔)
排行榜
