405错误IIS8.0 POST方法不允许

时间:2013-11-21 11:00:49

标签: wordpress iis http-post iis-8 http-status-code-405

我有一个运行IIS8.0的Azure云应用程序 我在其上运行了一个Wordpress站点,我想对某个资源发出POST请求 当我使用REST控制台时,它会成功使用200个代码 当我使用iOS应用程序时,它会返回405错误,并显示消息“不允许方法POST”。

我检查了请求标题,它们完全相同。

我用谷歌搜索,我发现它可能与IIS中的处理程序有关,因此这里有我的处理程序:

<handlers accessPolicy="Read, Script">
    <add name="PHP54_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.4\php-cgi.exe" resourceType="Either" />
    <add name="PHP53_via_FastCGI" path="*.php" verb="GET,HEAD,POST" modules="FastCgiModule" scriptProcessor="C:\Program Files (x86)\PHP\v5.3\php-cgi.exe" resourceType="Either" />
    <add name="CGI-exe" path="*.exe" verb="*" modules="CgiModule" resourceType="File" requireAccess="Execute" allowPathInfo="true" />
    <add name="TRACEVerbHandler" path="*" verb="TRACE" modules="ProtocolSupportModule" requireAccess="None" />
    <add name="OPTIONSVerbHandler" path="*" verb="OPTIONS" modules="ProtocolSupportModule" requireAccess="None" />
    <add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" resourceType="Either" requireAccess="Read" />
</handlers> 

有人可以帮我解决我的问题吗?

2 个答案:

答案 0 :(得分:1)

我发现了造成这个问题的原因。 我想知道为什么从我的浏览器发送请求是有效的,而且iOS应用程序没有。

浏览器和应用程序都发送了完全相同的标头和有效负载以及网址。

网址是这样的:http://www.example.com/?json=subscribe/subscribe

原来该应用无法使用此网址。我不得不使用:http://www.example.com/index.php?json=subscribe/subscribe

必须添加index.php才能使用iOS。

我正在为关键字添加Wordpress。

答案 1 :(得分:0)

您可以尝试使用Wireshark之​​类的网络数据包侦听器来查看iOS正在发送的原始HTTP。