34

我有一个已上传到 Microsoft 服务器的 php Facebook 应用程序。当我运行应用程序时,我收到此错误。有人知道这是什么原因吗?

405 - 不允许用于访问此页面的 HTTP 动词。无法显示您要查找的页面,因为尝试访问的方法(HTTP 动词)无效。

4

9 回答 9

65

即使您使用的是 IIS 或 apache,我猜您使用的是静态 html 页面作为登录页面,并且默认情况下 Web 服务器不允许 .html 页面上的 POST 或 GET 动词,facebook 通过 POST/GET 调用您的页面动词

解决方案是将页面重命名为.php.aspx ,你应该很高兴:)

于 2011-10-13T17:30:21.857 回答
3

在 Facebook 应用程序控制面板中,如果您只指定文件夹名称,请确保在任何指定 URL 的末尾都有一个正斜杠

IE

页面标签 URL: http: //mypagetabserver.com/custom_tab/

于 2012-05-21T04:52:07.787 回答
1

这实际上意味着,您在访问某些 http 内容时尝试使用错误的http 动词。Web 服务上的很多内容需要使用 aPOST来消费。我怀疑您尝试使用错误的 http 动词访问 facebook API。

于 2011-07-27T08:07:27.020 回答
1

我通过在我的 IIS webconfig 中添加这些行来修复我的问题。

<httpErrors>
    <remove statusCode="405" subStatusCode="-1" />
    <error statusCode="405" prefixLanguageFilePath="" path="/my-page.htm" responseMode="ExecuteURL" />
</httpErrors>
于 2015-01-08T03:34:01.280 回答
0

我已经把头发拉了几个小时了。fakeartist 看起来是正确的——我将文件扩展名从 .htm 更改为 .php,现在我可以在 Facebook 中看到我的页面了!如果您将扩展名更改为 .aspx,它也可以工作 - 也许它只需要成为服务器端扩展名(我没有尝试使用 .jsp)。

于 2012-09-04T10:02:11.927 回答
0

尝试重命名默认文件。就我而言,最近迁移到 IIS7.5 时出现 405 错误。我将 index.aspx 更改为 default.aspx,它立即为我工作。

于 2014-10-03T19:35:13.117 回答
0

就我而言,IIS 很好,但是.. 呃.. 文件夹中除 web.config 之外的所有文件都已被删除(在测试站点上手动部署已完成一半)。

于 2020-11-23T00:50:09.227 回答
0

当我使用 jquery 并且 lib 不存在于给定路径中时,我收到此错误,一旦添加了 jquery lib,错误就消失了。[文件名-calculate.html]

于 2021-09-02T05:09:27.663 回答
0

您可以将这些行添加到 web.config:

<system.webServer>
  <modules>
    <remove name="WebDAVModule" />
  </modules>
  <handlers>
    <remove name="WebDAV" />
  </handlers>
</system.webServer>
于 2021-12-05T17:43:20.540 回答