文章编号: 216493 - 最后修改: 2006年11月21日 - 修订: 3.2

错误: 您可能会收到一个 HTTP 405"不允许的方法"错误消息时不指定文件名称的情况下浏览默认文档

本页

展开全部 | 关闭全部

症状

当您浏览默认文档时,您将收到以下错误消息之一:
HTTP 错误
405 不允许的方法

请求线路中指定的方法不是允许该请求所标识的资源。 请确保您具有适当的 MIME 类型为所请求的资源设置。

请如果此问题仍然存在,与服务器的管理员联系。
不允许 HTTP 405-资源
Internet Information Services
如果满足下列条件,则会发生此问题:
  • 不指定文件名称。 渚嬪不要指定 http://Server/Web/。
  • 该脚本对象模型 (SOM) 启用。
  • 调用 DTC 事件。

原因

仅当您使用 Microsoft Internet Information Services (IIS) 4.0 和 Microsoft Internet Information Services 5.0 时,将出现此问题。 如果将 POST 请求发送到运行 IIS 4.0 或 IIS 5.0 的服务器,则会出现此问题和 POST 请求包含一个以斜杠 (/) 结尾的 URL。 IIS 返回 405 错误消息,而不是默认文档。 但是,如果 Verb 属性的方法值为 GET 或 HEAD,IIS 返回的默认文档。

解决方案

当启用 SOM 和调用 DTC 事件

对页面启用 SOM 时, 为类似于以下的一个 <form>标记插入页中。
<FORM name=thisForm METHOD=post>
				
由于没有操作属性指定在标记中,Netscape 导航器和 Internet Explorer 尝试进行 HTTP POST 请求的 uri"web /"。 根据要 HTTP RFC (RFC 2068) 中,这不是一个有效请求 URI 为 POST 操作。

若要 ヨ 瑙 e 喅姝 ら 棶棰橈使用下列方法之一:
  • 从默认文档重定向到另一个文档。 在这种情况下启用 SOM 的文档将不再是默认文档。 新的默认文档将只是重定向到 SOM 启用文档。 渚嬪 SOM 启用文档名为 MyDefault.asp,如果默认的文档 (Default.asp) 将包含仅在以下 code.
      <%
      Response.Redirect "mydefault.asp"
      %>
    						
  • 若要确保该文件的名称在 URL 中包含使用客户端脚本。 濡傛灉蹇呴 』 浣跨敤 SOM 启用文档作为默认文档,使用类似于下面的代码块作为页 <head>节内第一的代码块的客户端代码块。 此代码块执行下面的位置替换。
    <SCRIPT Language=JavaScript>
      var loc = document.location.toString()
      var loclen = loc.length
      
      //The name of the default document
      var filename = "default.asp"     
      var filelen = filename.length
      
      loc = loc.substring(loclen - filelen, loclen)
      
      if (loc.toUpperCase() != filename.toUpperCase()) { 
        location.replace(filename) 
      }
    </SCRIPT>
    						

当调用远程脚本

如果您使用 HTML 文档中的 window.location.href 属性确定当前文档的路径,则可能会出现此问题。 如果执行此操作时启动远程脚本呼叫,远程脚本调用将失败,因为客户端页并没有文件名称。

若要确定页是否可以使用客户端上的远程脚本,验证 window.location.href 属性的值不以斜杠结尾。 提供客户端浏览器中的文件名,并要防止在服务器上的错误使用 Response.Redirect 方法重定向到另一页从默认页请求。 有关详细信息请参阅第一的解析方法,在""部分中。

状态

Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中有 bug。

Microsoft Internet Information Services 6.0 中,此 bug 已被更正。

这篇文章中的信息适用于:
  • Microsoft Internet Information Services 5.0
  • Microsoft Internet Information Server 4.0
关键字:?
kbmt kbbug kbctrl KB216493 KbMtzh
机器翻译机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 216493? (http://support.microsoft.com/kb/216493/en-us/ )
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。
 

文章翻译