php在IIS上put,delete请求报404
方法一:配置C:\Windows\System32\inetsrv\Config\applicationHost.conf的put,delete
方法二:网传最广之方法,修改项目的web.config文件,在<system.webServer></system.webServer>里面贴上下面代码,移除WebDAVModule
<modules runAllManagedModulesForAllRequests="true"> <remove name="WebDAVModule" /> </modules> <handlers> <remove name="PHP_via_FastCGI" /> <remove name="WebDAV" /> <add name="PHP_via_FastCGI" path="*.php" verb="GET,HEAD,POST,PUT,DETELE" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.6\php-cgi.exe" resourceType="Either" requireAccess="Script" /> </handlers>
需注意,scriptProcessor要对应环境的php根目录
方法三:网传第二广之方法,也是最不靠谱,一言不合就报503的方法,我本地没有WebDav,所以这次没试这方法。
其原因在于默认情况下,IIS会安装一个WebDav模块,而此模块阻止了HTTP PUT和DELETE请求。
因此,解决方法很简单,在部署了Web API的网站中,移除掉WebDav模块即可。
如上图所示,在包容了Web API REST Service的Web Application中,打开“模块”选项卡,选中“WebDAVModule”,在右击点击“删除”。
删除之后,再次访问网站,可以看到工作正常。
方法四:这是我使用的方法,网上没有提及,故写此随笔,
1.点击处理程序映射
2.选择php-cig,编辑请求限制
3.加上PUT,DELETE
确认后,可能会出现以下错误,
然后重启IIS试试,PUT请求成功!
版权声明:本文为博主原创文章,未经博主允许不得转载。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗