一劳永逸解决IIS上因不识别PUT和DELETE报405错误问题
百度上的解决方案,基本上是修改web.config配置文件,如下:
<modules runAllManagedModulesForAllRequests="true"> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="WebDAV" /> </handlers>
这样是暂时解决了,可问题又来了,在项目前期各种发布测试时,每次配置文件web.config都会被覆盖,这时,你又得重新修改上面的配置,虽然这2个用得不多,可也让人觉得够烦的了。
所以想着,应该有其它解决方法吧?
既然知道是WebDav引起的问题,打开IIS,明明WebDav并没有被启用,为什么还是要在配置文件中移除它呢?
开启它不行吗,开启可以,但是百度了一下,说有很多安全问题,于是放弃了。
偶然中看到这篇文章:https://www.zhangshengrong.com/p/8AaYmor9a2/
终于找到它的源头了,也就是它的根目录:
C:\Windows\System32\inetsrv\config\applicationhost.config
打开配置文件,依次找到以下2个节点:
modules: <add name="WebDAVModule" /> handlers: <add name="WebDAV" path="*" verb="PROPFIND,PROPPATCH,MKCOL,PUT,COPY,DELETE,MOVE,LOCK,UNLOCK" modules="WebDAVModule" resourceType="Unspecified" requireAccess="None" />
剩下就简单了,把这2行add直接删除,无论发布多少次也无需在web.config上再修改了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)