我有一个已上传到 Microsoft 服务器的 php Facebook 应用程序。当我运行应用程序时,我收到此错误。有人知道这是什么原因吗?
405 - 不允许用于访问此页面的 HTTP 动词。无法显示您要查找的页面,因为尝试访问的方法(HTTP 动词)无效。
我有一个已上传到 Microsoft 服务器的 php Facebook 应用程序。当我运行应用程序时,我收到此错误。有人知道这是什么原因吗?
405 - 不允许用于访问此页面的 HTTP 动词。无法显示您要查找的页面,因为尝试访问的方法(HTTP 动词)无效。
即使您使用的是 IIS 或 apache,我猜您使用的是静态 html 页面作为登录页面,并且默认情况下 Web 服务器不允许 .html 页面上的 POST 或 GET 动词,facebook 通过 POST/GET 调用您的页面动词
解决方案是将页面重命名为.php或.aspx ,你应该很高兴:)
在 Facebook 应用程序控制面板中,如果您只指定文件夹名称,请确保在任何指定 URL 的末尾都有一个正斜杠
IE
页面标签 URL: http: //mypagetabserver.com/custom_tab/
这实际上意味着,您在访问某些 http 内容时尝试使用错误的http 动词。Web 服务上的很多内容需要使用 aPOST
来消费。我怀疑您尝试使用错误的 http 动词访问 facebook API。
我通过在我的 IIS webconfig 中添加这些行来修复我的问题。
<httpErrors>
<remove statusCode="405" subStatusCode="-1" />
<error statusCode="405" prefixLanguageFilePath="" path="/my-page.htm" responseMode="ExecuteURL" />
</httpErrors>
我已经把头发拉了几个小时了。fakeartist 看起来是正确的——我将文件扩展名从 .htm 更改为 .php,现在我可以在 Facebook 中看到我的页面了!如果您将扩展名更改为 .aspx,它也可以工作 - 也许它只需要成为服务器端扩展名(我没有尝试使用 .jsp)。
尝试重命名默认文件。就我而言,最近迁移到 IIS7.5 时出现 405 错误。我将 index.aspx 更改为 default.aspx,它立即为我工作。
就我而言,IIS 很好,但是.. 呃.. 文件夹中除 web.config 之外的所有文件都已被删除(在测试站点上手动部署已完成一半)。
当我使用 jquery 并且 lib 不存在于给定路径中时,我收到此错误,一旦添加了 jquery lib,错误就消失了。[文件名-calculate.html]
您可以将这些行添加到 web.config:
<system.webServer>
<modules>
<remove name="WebDAVModule" />
</modules>
<handlers>
<remove name="WebDAV" />
</handlers>
</system.webServer>