访问在运行 IIS 的服务器上承载的网站时 HTTP 错误 405.0

本文帮助您解决 HTTP 错误 405.0。 当您访问在 IIS 服务器上承载的网站时Internet Information Services (此错误) 。

原始产品版本: Internet Information Services 7.0 及更高版本
原始 KB 编号:   942051

症状

请考虑以下应用场景: 您的网站托管在运行 IIS Internet Information Services (7.0) 更高版本的服务器上。 当用户转到此网站时,用户会收到一条类似于以下示例的错误消息:

Application " application name "中的服务器错误
HTTP 错误 405.0 - 不允许使用方法
HRESULT:0x80070001
对 HRESULT 的说明
您查找的页面无法显示,因为 (HTTP 谓) 无效的方法。

原因 1

出现此问题的原因是客户端使用不符合 HTTP 规范的 HTTP (HTTP) 请求超文本传输协议。

原因 2

出现此问题的原因是,客户端通过将 方法发送到配置为由处理程序处理的页面发出 HTTP POST StaticFile 请求。 例如,客户端将方法 POST 发送到静态 HTML 页。 但是,为处理程序配置 StaticFile 的页面不支持 POST 方法。

原因 3

WebDAV 发布会干扰 HTTP PUT。

原因 1 的解决方法

确保客户端发送包含有效 HTTP 方法的请求。 为此,请执行以下步骤:

  1. 选择“开始”,在“开始搜索”框中键入“记事本”,右键单击“记事本”,然后选择“以管理员身份运行”。

    备注

    如果系统提示你输入管理员密码或进行确认,请键入密码或提供确认。

  2. 在“文件”菜单上,选择“打开”。 在"文件名" 框中,键入 %windir%\system32\inetsrv\config\applicationhost.config ,然后选择"打开 "。

  3. 在ApplicationHost.config 文件中 ,找到 <handlers> 标记。

  4. 确保所有处理程序都使用有效的 HTTP 方法。

  5. 保存ApplicationHost.config 文件

原因 2 的解决方法

将 POST 请求发送到配置为由处理程序而非处理程序处理 StaticFile 的页面。 例如, ASPClassic 处理程序。 或者,更改处理程序正在处理的请求,以便它是 StaticFile GET 请求而不是 POST 请求。

原因 3 的解决方法

从文件中删除 WebDAV 模块Web.config处理程序 。 此外,如果未使用 WebDAV 发布功能,请从计算机中删除该功能。 为此,请执行以下步骤:

  1. 选择 "开始*",在"Windows* 搜索"框中键入"打开或关闭功能",然后选择"打开或关闭Windows 功能"。
  2. 在"Windows功能"窗口中,展开 Internet Information Services -> 万维 -> 网服务通用 HTTP 功能"。
  3. 取消选中 "WebDAV 发布" 功能。