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请求成功!

 

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

转载于:https://www.cnblogs.com/cxscode/p/7119224.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值