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

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

时间: 2024-10-13 02:22:41

php在IIS上put,delete请求报404的相关文章

用户 &#39;IIS APPPOOL\**&#39; 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)

为开发方便-将项目部署到本地IIS上打开网页出现报错 1.打开IIS管理 2.点击应用池 3.找到你部署的网站名,右键“高级设置”——>“进程模型”——>“标识”修改为localsystem,点击“确定”. 步骤见下截图: 用户 'IIS APPPOOL\**' 登录失败的解决方案(项目部署到本地IIS上打开网页出现报错)

WebAPI IIS PUT和DELETE请求失败

IIS拒绝PUT和DELETE请求是由于IIS为网站默认注册的一个名为WebDAVModule的自定义HttpModule导致的,如果我们的站点不需要提供针对WebDAV的支持,解决这个问题最为直接的方式就是利用如下配置将注册的HttpModule移除即可: 1 <system.webServer> 2 <modules runAllManagedModulesForAllRequests="true"> 3 <remove name="WebD

WebAPI IIS PUT和DELETE请求失败 405

IIS拒绝PUT和DELETE请求是由于IIS为网站默认注册的一个名为WebDAVModule的自定义HttpModule导致的,如果我们的站点不需要提供针对WebDAV的支持,解决这个问题最为直接的方式就是利用如下配置将注册的HttpModule移除即可: 1 <system.webServer> 2 <modules runAllManagedModulesForAllRequests="true"> 3 <remove name="WebD

通过发布项目到IIS上,登录访问报系统找不到System.Web.Mvc

我发布项目到IIs,通过IIS的端口来访问直接下面的错误 上面的解决方法把我问题解决了,是在你要发布项目之前,选择你要发布的项目,找到它的引用,在它引用下 找到system.web.mvc,右键属性找到‘复制本地“改为true就行了

上传大文件报404错误的解决办法

在Windows2008下,如果上传比较大的文件,可能会出现404错误,(请求筛选模块被配置为拒绝超过请求内容长度的请求). 可通过如下方法解决: 打开URTracker根目录下的web.config文件,找到<system.webServer>一节,加入如下配置即可: <security> <requestFiltering > <requestLimits maxAllowedContentLength="1024000000" >&

Asp.Net Core IIS 7.5 发布后PUT、DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词)

Asp.Net Core IIS发布后PUT.DELETE请求错误405.0 - Method Not Allowed 因为使用了无效方法(HTTP 谓词) 一.在使用Asp.net WebAPI 或Asp.Net Core WebAPI 时 ,如果使用了Delete请求谓词,本地生产环境正常,线上发布环境报错. 服务器返回405,请求谓词无效. 二.问题分析诊断 首先检查跨域配置是没有问题的,查询数据和新增数据的请求也是没有问题的,只出现在修改和删除数据.通过了解ABP Web API请求头设

SpringMVC DELETE,PUT请求报错 添加支持Http的DELETE、PUT请求

SpringMVC删除与修改操作需要用DELETE,PUT请求方式提交. 但要知道浏览器form表单只支持GET与POST请求,而DELETE.PUT等method并不支持. spring3.0添加了一个过滤器,可以将这些请求转换为标准的http方法,使得支持GET.POST.PUT与DELETE请求. 这个过滤器需要在web.xml文件中添加: <filter>      <filter-name>HiddenHttpMethodFilter</filter-name>

VS2012 webservice的创建并在iis上发布,发布完后解决“测试窗体只能用于来自本地计算机的请求.”问题视频教程

VS2012 webservice的创建并在iis上发布,发布完后解决"测试窗体只能用于来自本地计算机的请求."问题视频教程 http://yunpan.cn/cZckwQc7FyFN9 访问密请下载查看  http://download.csdn.net/detail/u014180504/8503089 

使用HttpClient 发送 GET、POST(FormData、Raw)、PUT、Delete请求及文件上传

httpclient4.3.6 package org.caeit.cloud.dev.util; import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; import java.util.Map;