IIS 7.5 405 方法不允许从 StaticFileModule 进行 PUT

Posted

技术标签:

【中文标题】IIS 7.5 405 方法不允许从 StaticFileModule 进行 PUT【英文标题】:IIS 7.5 405 Method Not Allowed for PUT from StaticFileModule 【发布时间】:2016-08-06 08:37:30 【问题描述】:

我正在将第 3 方 xml 编辑器集成到我们的 Web 应用程序中,并且保存功能直接对 Web 服务器上的文件执行 HTTP PUT。

操作系统是使用 IIS 7.5 的 Windows Server 2008 R2

我们安装了 Web API,因此我们已经删除了 WebDAV,并且还更新了 web.config:

<remove name="WebDAVModule" /> under modules
<remove name="WebDAV" /> under handlers

我们更新了网站的处理程序映射以包含“PUT”动词:

静态文件

ExtensionlessUrlHandler-ISAPI-4.0_32bit

ExtensionlessUrlHandler-ISAPI-4.0_64bit

当我们向 Composer 中的一个 xml 文件发出 PUT 请求时,我们仍然在 fiddler 中继续得到以下响应:

HTTP Error 405.0 - Method Not Allowed

The page you are looking for cannot be displayed because an invalid method (HTTP verb) is being used.


Module :     StaticFileModule 

Notification :     ExecuteRequestHandler 

Handler :     StaticFile 

Error Code :     0x80070001 

【问题讨论】:

【参考方案1】:

当您在模块中的 IIS 中安装应用程序时:

找到 WebDav 并删除您必须在 Handler Mappings 中执行的相同步骤 - 删除 WebDav 并全部刷新。

【讨论】:

【参考方案2】:

php.cgi 请求限制中添加 PUT、DELETE 动词。

IIS -> 站点 -> DOMAIN.COM -> 处理程序映射 -> 编辑处理您的请求的 CGI 处理程序 -> 请求限制 -> 动词选项卡。

【讨论】:

以上是关于IIS 7.5 405 方法不允许从 StaticFileModule 进行 PUT的主要内容,如果未能解决你的问题,请参考以下文章

IIS 7.5、Web 服务和 HTTP 405 错误

IIS 7.5 错误 405 不支持 PUT 方法

MVC 4. IIS 7.5 PUT 返回 405

错误 405 - IIS Express 10 不允许使用 CORS for Web API 的方法

使用 IIS 时方法不允许 405

405不允许的方法从StaticFileModule