使用IIS运行php程序,处理put和delete请求出现405错误

原因是虽然请求已进入 PHP 处理程序(PHP_Via_FastCGI),但被 WebDAVModule 模块拦截,导致返回 405。WebDAV 是 IIS 的一个功能模块,默认会处理 PUT 和 DELETE 请求,即使 PHP 允许这些动词,WebDAV 也可能先于 PHP 执行并拒绝请求。

解决方法:

方法一:通过 IIS 管理器禁用
  1. 打开 IIS 管理器,选中您的站点(ThinkPHP)。

  2. 双击 模块 图标。

  3. 在模块列表中找到 WebDAVModule,选中它。

  4. 在右侧操作栏点击 删除。

  5. 重启 IIS(运行 iisreset 或右键站点 → 管理网站 → 重新启动)

方法二:修改 web.config 文件(推荐,可保留配置)

在站点根目录的 web.config 中添加以下内容,移除 WebDAV 模块和处理程序:

复制代码
<configuration>
    <system.webServer>
        <modules>
            <remove name="WebDAVModule" />
        </modules>
        <handlers>
            <remove name="WebDAV" />
        </handlers>
    </system.webServer>
</configuration>
相关推荐
第九序言T2 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
龙亘川3 小时前
构建城市公共安全数字底座:亘川智城智慧安防系统全维度解读
java·大数据·开发语言·人工智能·信息可视化
程序喵大人4 小时前
【C++入门】内存模型与资源管理 - 09 shared_ptr 和 weak_ptr 解决共享,也带来代价
开发语言·c++·资源管理·智能指针·内存模型
Raas1004 小时前
AI网关部署方案?从部署到上线全流程
java·开发语言·人工智能·gateway·ai网关·企业级ai网关·企业级ai产品
niucloud-admin5 小时前
NIUCLOUD PHP SAAS上门家政使用文档:城市管理
java·前端·php
专注仿真5 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
ESDWAN5 小时前
企业网络监控应该监测哪些目标?网关、网络节点还是业务系统?
服务器·网络·php
jimy16 小时前
C++ 中的 `T&&`:右值引用与转发引用
开发语言·c++
呆呆虫126 小时前
用 orjson 加速 SerpBase 响应解析:基准对比与注意事项
开发语言·php
心疼你的一切6 小时前
Python自动发邮件实战定时发报表
大数据·开发语言·python