访问运行 IIS 的服务器上托管的网站时出现 HTTP 错误 405.0
本文可帮助你解决 HTTP 错误 405.0。 访问在运行 Internet Information Services(IIS)的服务器上托管的网站时,将发生此错误。
原始产品版本:Internet Information Services 7.0 及更高版本
原始 KB 数: 942051
现象
请考虑以下场景。 你有一个网站托管在运行 Internet Information Services (IIS) 7.0 或更高版本的服务器上。 当用户转到此网站时,用户会收到类似于以下示例的错误消息:
应用程序“应用程序名称”中的服务器错误
HTTP 错误 405.0 - 不允许使用方法
HRESULT:0x80070001
对 HRESULT 的说明
无法显示要查找的页面,因为正在使用无效的方法(HTTP 谓词)。
原因 1
出现此问题的原因是客户端使用不符合 HTTP 规范的 HTTP 方法发出超文本传输协议 (HTTP) 请求。
原因 2
之所以会出现此问题,是因为客户端通过将方法发送到 POST
配置为由 StaticFile
处理程序处理的页面发出 HTTP 请求。 例如,客户端将 POST
该方法发送到静态 HTML 页面。 但是,为 StaticFile
处理程序配置的页面不支持该方法 POST
。
原因 3
WebDAV 发布会干扰 HTTP PUT。
原因 1 的解决方法
确保客户端发送包含有效 HTTP 方法的请求。 为此,请按照以下步骤操作:
选择“开始”,在“开始搜索”框中键入记事本,右键单击记事本,然后选择“以管理员身份运行”。
注意
如果系统提示输入管理员密码或进行确认,请键入密码或提供确认。
在“文件”菜单上,选择“打开”。 在 “文件名 ”框中,键入
%windir%\system32\inetsrv\config\applicationhost.config
,然后选择“ 打开”。在 ApplicationHost.config 文件中,找到
<handlers>
标记。确保所有处理程序都使用有效的 HTTP 方法。
保存 ApplicationHost.config 文件。
原因 2 的解决方法
将 POST 请求发送到配置为由处理程序以外的 StaticFile
处理程序处理的页面。 例如, ASPClassic
处理程序。 或者,更改处理程序正在处理 StaticFile
的请求,以便它是 GET 请求而不是 POST 请求。
原因 3 的解决方法
从 Web.config 文件中删除 WebDAV 模块和处理程序。 如果尚未使用 WebDAV 发布功能,请从计算机中删除该功能。 为此,请按照以下步骤操作:
- 在“开始搜索”框中键入“打开或关闭 Windows 功能”,然后选择“打开或关闭 Windows 功能”。
- 在“Windows 功能”窗口中,展开 “Internet Information Services ->World Wide Web Services ->Common HTTP 功能”。
- 取消选中 WebDAV 发布 功能。