一劳永逸解决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上再修改了。

posted @   Luckyfish小文  阅读(334)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示