欢迎光临
我们一直在努力

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

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

解决方法:

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

  • 双击 模块 图标。

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

  • 在右侧操作栏点击 删除。

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

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

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

    <configuration>
    <system.webServer>
    <modules>
    <remove name="WebDAVModule" />
    </modules>
    <handlers>
    <remove name="WebDAV" />
    </handlers>
    </system.webServer>
    </configuration>

    赞(0)
    未经允许不得转载:171主机测评 » 使用IIS运行php程序,处理put和delete请求出现405错误
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址